@Borshevistiy

Как остановить бесконечный цикл?

Я не могу понять почему у меня условие if не отвечает, вместо этого работает цикл (просто каждый раз выдает say).

import java.util.Scanner;

public class Assis {
    public static void main(String[] args) {
        Scanner say = new Scanner(System.in);
        System.out.print("Hello, write your name: ");
        String f = say.nextLine();
        System.out.println("Hello " + f);
        System.out.println("");
        
        System.out.print(f + ", write your age: ");
        int a = say.nextInt(); 
        /**
         * Age and name
         */
        if (a >= 13) {
            System.out.println("Let's continue...");
        } else {
            System.out.println("You can't use this programm.");
            return;
        }
        while (1 < 5){
            System.out.println("Say: ");
            String saa = say.nextLine();
            if (saa == "Please exit") {
                System.out.println("Ok" + f);
                break;
            } else if (saa == "No") {
                System.out.println(":(");
            }
        }
    }
}
  • Вопрос задан
  • 562 просмотра
Решения вопроса 2
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
Это - популярный вопрос на собеседованиях.
if (saa == "Please exit")
Обычно в Java строки сравнивают через equals() а данное условие выше может сработать а может и нет :)

Вот когда оно сработает - это тема небольшой лекции по организации памяти.
Ответ написан
Комментировать
XOR2048
@XOR2048
Web & Browser extension developer
Так у вас условие написано
while (1 < 5){
            System.out.println("Say: ");
<...>
}

Мне кажется из-за этого и идет бесконечный цикл и вам не дает выполнить условие далее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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