DRAKON.SU https://forum.drakon.su/ |
|
Проблема с try-catch при построении DRAKON-блок-схемы https://forum.drakon.su/viewtopic.php?f=62&t=6474 |
Страница 1 из 1 |
Автор: | Иван Енжаев [ Воскресенье, 31 Март, 2019 18:45 ] |
Заголовок сообщения: | Проблема с try-catch при построении DRAKON-блок-схемы |
Здравствуйте, Недавно нашёл такой пример для начинающих Java программистов: https://habr.com/ru/post/441150/ Хочу понять, как можно упростить код, чтобы он был пригоден для DRAKON-блок-схем. Посоветуете ли вы, во-первых, избавиться от бесконечного цикла, или его можно оставить? Мои первые наброски: https://drakonhub.com/ide/doc/8observer8/7 Код: import java.io.BufferedReader;
import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.StandardCharsets; public class HttpServer { public static void main(String[] args) { try (ServerSocket serverSocket = new ServerSocket(8080)) { System.out.println("Server started!"); while (true) { // ожидаем подключения Socket socket = serverSocket.accept(); System.out.println("Client connected!"); // для подключившегося клиента открываем потоки // чтения и записи try (BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); PrintWriter output = new PrintWriter(socket.getOutputStream())) { // ждем первой строки запроса while (!input.ready()) ; // считываем и печатаем все что было отправлено клиентом System.out.println(); while (input.ready()) { System.out.println(input.readLine()); } // отправляем ответ output.println("HTTP/1.1 200 OK"); output.println("Content-Type: text/html; charset=utf-8"); output.println(); output.println("<p>Привет всем!</p>"); output.flush(); // по окончанию выполнения блока try-with-resources потоки, // а вместе с ними и соединение будут закрыты System.out.println("Client disconnected!"); } } } catch (IOException ex) { ex.printStackTrace(); } } } |
Автор: | Владимир Паронджанов [ Понедельник, 01 Апрель, 2019 09:41 ] |
Заголовок сообщения: | Re: Проблема с try-catch при построении DRAKON-блок-схемы |
Java try/catch/finally в языке ДРАКОН |
Автор: | Иван Енжаев [ Понедельник, 01 Апрель, 2019 20:06 ] | ||
Заголовок сообщения: | Re: Проблема с try-catch при построении DRAKON-блок-схемы | ||
Меня очень сильно расстроила та тема. Столько разных подходов и мнений. А особенно расстроило это сообщение Степана Митькина. Я понимаю почему Степан предлагает такой вариант. Его DRAKON Editor поддерживает только такой способ, как он описал, то есть помещать все try-catch-finally в одну икону Действие, чтобы сгенерировать .java файл из редактора. Это его скриншот найденный мною на зарубежном форуме в этой теме: Using DRAKON with python's try: except: exceptions
|
Автор: | Владимир Паронджанов [ Понедельник, 01 Апрель, 2019 20:19 ] |
Заголовок сообщения: | Re: Проблема с try-catch при построении DRAKON-блок-схемы |
Иван, если вы не согласны с Митькиным, поспорьте с ним. Заявите, что вы не согласны, аргументируйте вашу позицию и доказывайте, что ваше предложение не хуже или даже лучше |
Автор: | Иван Енжаев [ Вторник, 02 Апрель, 2019 02:38 ] |
Заголовок сообщения: | Re: Проблема с try-catch при построении DRAKON-блок-схемы |
Тот человек, ссылку на хабр-статью и код которого я показал в первом сообщении - мой знакомый с КиберФорума. Он преподаватель. Я хотел его удивить и показать, как легко изобразить его код с помощью DRAKON-блок-схемы. Показать как легко студенты (начинающие программисты в Java) могут легко самостоятельно создавать свои блок схемы для Java программ. Я хотел показать на примере его программы. В результате я обескуражен. Получается, что программа из первого сообщения намного нагляднее, чем если её представить в виде DRAKON-блок-схемы. До этого я думал, что DRAKON однозначен, но если существует столько способов изобразить try-catch и нет единого подхода - это очень плохо. Я расстроен, что не могу изобразить однозначно тот пример для начинающих из первого сообщения. Почему нельзя было договориться, что этот вариант единственный верный и давайте его следовать? Нет, нужно было придумать 5-7 способов изображать try-catch, причём генератор кода Степана будет поддерживать только его способ изображения try-catch в одной иконе действия. А как же быть с вложенными try-catch? Весь код засовывать в одну икону Действие? |
Автор: | ibnteo [ Четверг, 25 Февраль, 2021 14:33 ] | ||
Заголовок сообщения: | Re: Проблема с try-catch при построении DRAKON-блок-схемы | ||
Для обработки ошибок нужны специальные иконы, предлагаю вот такие, причём иконы catch нанизать на линию, и case в switch сделать так же.
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |