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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2015, 10:20   #1
Te0dora
Новичок
Джуниор
 
Регистрация: 03.07.2015
Сообщений: 2
По умолчанию java чтение файла

нужно прочитать с файла и вывести на экран только определеные слова. вот функция которая у меня получилась, но она не работает, если убрать условие, то читает и печатает весь файл.
Код:
private static void readFile() {
		while(scn.hasNext()){
		
		    s=scn.nextLine();

		    if(s="word"){
		         System.out.println(s); 
		    }
	         }		
	}
Te0dora вне форума Ответить с цитированием
Старый 03.07.2015, 10:58   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, сравнение это ДВА знака равно (s=="word"). Вы написали присвоение!

во-вторых, сравнивать строки вообще надо по другому:
см. например, Java для чайников. Урок 16. Класс String. Сравнение строк.
Код:
if(s.equals("word"))
....
ну и третье. Вы понимаете, что при таком подходе у Вас в вашем текстовом файле каждое слово должно быть на своей, отдельной строке?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.07.2015, 11:38   #3
Te0dora
Новичок
Джуниор
 
Регистрация: 03.07.2015
Сообщений: 2
По умолчанию

Да я разбиваю задание на под пукнты, сейчас у меня по 1 слово в строке, а дальше я буду решать эту задачу когда будет несколько слов в строке, большое спасибо за помощь.
Te0dora вне форума Ответить с цитированием
Старый 09.07.2015, 22:40   #4
Ev[G]eN
C / C++ / Java
Пользователь
 
Регистрация: 23.01.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
if(s.equals("word"))
это Вы показали как делать не стоит?
а если в силу непредвиденных обстоятельств s равняется null?
Ev[G]eN вне форума Ответить с цитированием
Старый 10.07.2015, 11:36   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Ev[G]eN, я вообще в этой теме отписался только потому что увидел типичную ошибку, а так я здесь просто "проходил мимо"

Расскажите, что не так.
Метод сканера nextLine() может вернуть null ?!
особенно после проверки через hasNext() ?

ну, тогда exception будет, в чём проблема?
для сравнения строки с заданным словом нужно не метод equals() использовать?
Вы знаете правильный ответ? Так укажите, какой метод нужно использовать для сравнения строк.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.07.2015, 14:32   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Ev[G]eN мне тоже интересно, как должно быть?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.07.2015, 16:12   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Обычно пишут наоборот "word".equals(s), т.к. "word" врядли превратится в null
p51x вне форума Ответить с цитированием
Старый 10.07.2015, 16:33   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

p51x, согласен. Спасибо.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение com-порта на java danyamaster Фриланс 3 15.02.2013 14:09
java чтение из файла world12_tk Помощь студентам 0 25.09.2012 19:06
чтение файла в массив строк java (Перенесено из Java SE) Sasha9132 Помощь студентам 0 18.11.2010 22:57
Чтение и запись файлов на java kostyan142 Помощь студентам 0 14.02.2010 17:53
Запись и чтение из файла в java МаксMorfey Помощь студентам 1 09.06.2009 00:28