Почему в данном коде, когда строки одинаковы выводит "строки разные", хотя задача принята?
public class Main {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
String str1 = scanner.nextLine();
String str2 = scanner.nextLine();
if (str1.equals(str2)) {
System.out.println("строки одинаковые");
} else{
System.out.println("строки разные");
}
}
}
Артем
6 уровень
Почему не выводит сообщение "строки одинаковые", когда они идентичны?
Решен
Комментарии (19)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Crevan Senior Помидор в Своих Фантазиях
18 мая 2022, 12:35решение
Здесь был неправильный ответ
+2
Артем
18 мая 2022, 12:46
СПАСИБО, дай Бог Вам здоровья.
0
hidden #598481
18 мая 2022, 12:55полезный
НЕТ
Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.
Другие методы next (nextInt(), nextDouble(), nextBoolean(), ...) действительно не считывают из потока разделитель строки. nextLine() должен пропускать разделитель, код написан правильно. Проблема в багованной идее, в майской версии какая-то проблема с оберткой System.in в консоли.
Я уже встречаю наверное пятый аналогичный вопрос здесь, проблема именно в ИДЕ.
Другие вопросы:
https://javarush.com/help/82415
https://javarush.com/help/82414
В качестве доказательства можешь убедиться, как nextLine() работает на других потоках, не System.in:
Каждый элемент списка будет очередной строкой, никаких пустых строк и пропущенных элементов не будет.
+2
hidden #598481
18 мая 2022, 12:55
Тебе дали неправильный ответ, твой код в вопросе верный, проблема не в нём.
0
Crevan Senior Помидор в Своих Фантазиях
18 мая 2022, 13:27
Спасибо, что поправил. Не ожидал, что IDEA может подкинуть такой сюрприз
0
hidden #598481
18 мая 2022, 14:02
Я тоже не ожидал.
Отправил баг-репорт в jetBrains
0
Ada
18 мая 2022, 08:57
А на каких строках вы проверяете, что у вас не работает?
0
Артем
18 мая 2022, 09:02
строка1: Artem
строка2: Artem
Вывод: строки разные
Как так?
0
Ada
18 мая 2022, 09:06
это весь код? у меня вывод корректный по вашему коду![]()

0
Ada
18 мая 2022, 09:10
Если вы вводите Artem в валидаторе на сайте, имейте в виду, там встроенная проверка, он не считывает то, что вводите именно вы
0
Артем
18 мая 2022, 09:29

0
Ada
18 мая 2022, 09:34
Может, на одной из строк у вас пробел, а во второй нет?
0
Артем
18 мая 2022, 09:37
1. Ввожу строку, нажимаю enter
2. Ввожу строку (идентично первой), нажимаю enter
Вывод: разные строки
полное не понимание)
0
deribas
18 мая 2022, 08:43
Попробуй добавь еще один сканер, чтоб он считывал вторую строку
0
Артем
18 мая 2022, 08:53
Добавил, результат не изменился. Вопрос открыт
0
АлександрExpert
18 мая 2022, 09:00
попробуй между str1 и str2 поставить
сообщи о результате +2
deribas
18 мая 2022, 09:02
ок, у меня по условию задачи стоит: Амиго и Диего, что естественно вывод как разные. Если будет два одинаковых имени,выводит, что похожи.
0
Артем
18 мая 2022, 09:28

0
Anonymous #3304119
16 мая 2023, 19:25
Спасибо, выручил!
0