Member 13620781 Ответов: 2

Не могли бы вы заметить мою ошибку в этом коде, потому что с этим кодом есть проблема?


Проблема в том, что код не читает оператор 'String airport2 = input.next ();', поэтому я хотел бы спросить, в чем моя ошибка. программа завершается до того, как пользователь вводит входные данные для airport2. Я очень новичок в этом типе кода. спасибо за помощь.

Что я уже пробовал:

System.out.println("\nFlight connection.\n");
System.out.print("From (do enter the full name of the city): ");
String airport1 = input.next();
System.out.print("To (do enter the full name of the city): ");
String airport2 = input.next();

if(airport1 == "George Town" && airport2 == "Johor Bahru" || airport1 == "Johor Bahru" && airport2 == "George Town")
{
    System.out.println("Yes, they are connected directly.");
}
else if(airport1 == "George Town" && airport2 == "Malacca City" || airport1 == "Malacca City" && airport2 == "George Town")
{
    System.out.println("Yes, they are connected directly.");
}
else if(airport1 == "Johor Bahru" && airport2 == "Malacca City" || airport1 == "Malacca City" && airport2 == "Johor Bahru")
{
    System.out.println("Yes, they are connected directly.");
}

Richard MacCutchan

Используйте свой отладчик или (System.out.println), чтобы точно увидеть, что было прочитано. Мы понятия не имеем, что вы печатаете.

2 Ответов

Рейтинг:
1

OriginalGriff

Попробуйте заменить input.next с input.nextLine и , как предложил Ричард, используйте отладчик, чтобы точно посмотреть, что происходит.


Рейтинг:
0

Patrice T

Цитата:
Проблема в том, что код не читает 'String airport2 = input.next();'

Может быть проблема в том что input.next() это не значит делать то, что вы думаете.
java - в чем разница между методами next() и nextLine() из класса Scanner? - переполнение стека[^]
Пример метода Java Scanner next() [^]

Похоже, что изучение отладчика-тоже хорошая идея.
Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.