Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2017, 21:31   #1
Gentanto
Пользователь
 
Аватар для Gentanto
 
Регистрация: 09.06.2017
Сообщений: 13
Сообщение Вопрос по классу Scanner.

Я хочу задать вам вопрос касающийся оператора Scanner. Приведу пример программы, где и наблюдается моя проблема.

Код:
import iava.util.Scanner;
class Scanner {
public static void main(String [ ] args)* {

Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
String b = "Java";

if (a == b) {
System.out.println ("Проверка успешна.");
}
else {
System.out.println ("Проверка не успешна.");
}

}
}

Вводим наши данные:
- Java
- Проверка не успешна.


Я ввел так, чтобы условие прошло со значением true. То есть значение переменной "а" равно значению переменной "b". Но условие не проходит свою проверку.

Почему?

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
И форматируйте код (отступы)

Последний раз редактировалось Gentanto; 19.06.2017 в 18:03.
Gentanto вне форума Ответить с цитированием
Старый 18.06.2017, 21:39   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

.equals надо для сравнения строк. == ссылки сравнивает.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.06.2017, 22:57   #3
Gentanto
Пользователь
 
Аватар для Gentanto
 
Регистрация: 09.06.2017
Сообщений: 13
По умолчанию

А как это должно выглядеть? if (a.equals == b.equals) ...
Что то мне подсказывает, что это бред)
Gentanto вне форума Ответить с цитированием
Старый 18.06.2017, 23:04   #4
Gentanto
Пользователь
 
Аватар для Gentanto
 
Регистрация: 09.06.2017
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
.equals надо для сравнения строк. == ссылки сравнивает.
Спасибо, я нашел информацию по этому поводу благодаря вам.
Gentanto вне форума Ответить с цитированием
Старый 18.06.2017, 23:20   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Gentanto Посмотреть сообщение
Что то мне подсказывает, что это бред)
правильно подсказывает.
Вы бы погуглили, многие вопросы сразу отпали.

equals - это метод (строки, в данном случае).
вызывать его так:
Код:
if (a.equals(b)) {
  System.out.println ("Проверка успешна.");
}
.....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.06.2017, 10:12   #6
Gentanto
Пользователь
 
Аватар для Gentanto
 
Регистрация: 09.06.2017
Сообщений: 13
По умолчанию

Благодарю.
Gentanto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу на Pascal по оператору выбора! passresx Паскаль, Turbo Pascal, PascalABC.NET 6 27.12.2013 22:18
Задачи по оператору CASE IvanKyzyl Паскаль, Turbo Pascal, PascalABC.NET 2 28.02.2012 11:02
Задача по оператору case. IvanKyzyl Паскаль, Turbo Pascal, PascalABC.NET 3 20.02.2012 23:05
Задача по оператору for IvanKyzyl Паскаль, Turbo Pascal, PascalABC.NET 2 14.02.2012 09:11