Может ли абстракция применяться в этой программе?

Метод send реализует сопрограммы .

Если вы не сталкивались с Coroutines, они сложны, чтобы обернуть голову, потому что они меняют способ передачи программы. Вы можете прочитать хороший учебник для более подробной информации.

-1
задан PM 77-1 16 January 2019 в 23:49
поделиться

1 ответ

Абстракция - это большая тема, которую было бы сложно быстро охватить. Тем не менее, ваша программа - это один длинный метод, который, без сомнения, может быть переработан в более объектно-ориентированный дизайн.

Что касается упрощения вашего кода, есть много возможностей. Я начал с просмотра кода, который повторяется.

Выражение if может состоять из нескольких частей, поэтому:

if (numberFirst > 3) {
     System.out.println("You can't do that. Please start over.");
     System.out.close();
}
if (numberFirst < 2) {
     System.out.println("You can't do that. Please start over.");
     System.out.close();
}

можно упростить до:

if ((numberFirst > 3) || (numberFirst < 2)) {
    System.out.println("You can't do that. Please start over.");
    System.out.close();
}

Если операторы могут быть вложенными, то:

[ 112]

можно упростить до:

if (numberFirst == 3) {
    if (operation.equals("1"))
         System.out.println("You are using addition." + " Your answer is " + (num1 num2 + num3) + ".");
     if (operation.equals("2"))
        System.out.println("You are using subtraction." + " Your answer is " + (num1 - num2 - num3) + ".");
    ...
}

Я мог бы продолжать. Лучше всего изучать основные функции языка Java, например. циклы, switch операторы, массивы и так далее. Тогда вы сможете упростить еще больше.

0
ответ дан dave 16 January 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: