Страницы

Поиск по вопросам

понедельник, 3 февраля 2020 г.

Как заставить программу вернуть в начало метода main после выполнения очередного условия if? JAVA

#java


Вот для примера листинг 

public static void main(String[] args) {
    Scanner scn = new Scanner(System. in );
    int n = 0;
    System.out.print("Введите число ");
    n = scn.nextInt();
    if (n == 0) {
        System.out.print("Ваше число = 0, введите другое число\n ");
    } else if (n % 2 == 0) {
        System.out.print("Ваше число чётное ");
    } else {
        System.out.print("Ваше число нечётное ");
    }
}


Допустим мы ввели 0. Выводит сообщение мол введите другое число и на этом работа
программы заканчивается, а как сделать чтобы начало отрабатывать с начала ?
    


Ответы

Ответ 1



Обычно чаще всего для этого используются управляющие конструкции такие, как while и do-while Реже используется for, когда нет конечного перечисления . Нвпример int n = 0; do { System.out.print("Введите число ( 0 - exit ): "); n = scn.nextInt(); if ( n != 0 ) { if( n%2 == 0) { System.out.print("Ваше число чётное "); } else { System.out.print("Ваше число нечётное ");} } } while ( n != 0 ); Или, например, while ( true ) { int n = 0; System.out.print("Введите число ( 0 - exit ): "); n = scn.nextInt(); if ( n == 0 ) break; if( n%2 == 0) { System.out.print("Ваше число чётное "); } else { System.out.print("Ваше число нечётное ");} } Я сделал n равным 0 условием выхода из цикла (когда-то же пользователь должен покинуть программу, не так ли?:) ). Вы можете выбрать любое условие выхода из цикла на ваше усмотрение. Кстати сказать, на мой взгляд использование break с меткой - это плохой стиль программирования. Я не советую его использовать там, где легко можно обойтись без этого предложения.

Ответ 2



public static void main(String[] args) { Scanner scn = new Scanner(System.in); int n; LOOP: while (true) { System.out.print("Введите число "); n = scn.nextInt(); if (n == 0){ System.out.println("Ваше число = 0, выход из программы"); break LOOP; } else if (n%2 == 0) { System.out.println("Ваше число чётное"); } else { System.out.println("Ваше число нечётное"); } } }

Ответ 3



Scanner RepetitionMethod = new Scanner(System.in); while (true) { System.out.print("Would you like to explore the garage? (yes or no):"); String quest = RepetitionMethod.nextLine(); if (quest.equals("yes")||quest.equals("y")||quest.equals("1")) { System.out.println("You see: Tv, Books, Car "); break; } else if (quest.equals("no")||quest.equals("n")||quest.equals("0")) { System.out.println("You not see "); break; }else{ System.out.println("Error you need write (yes or no)"); System.out.println("Try again!"); } } RepetitionMethod.close(); } }

Комментариев нет:

Отправить комментарий