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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2009, 15:45   #1
_Studentka_
Пользователь
 
Аватар для _Studentka_
 
Регистрация: 03.11.2009
Сообщений: 24
По умолчанию Объясните синтaксис,пожалуйста

Вот дан цикл while(!in.readLine().equals("end"))
Что значит знак восклицания в этом цикле??
_Studentka_ вне форума Ответить с цитированием
Старый 12.11.2009, 20:01   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

пока входная строка не end то...

! = not
то есть отрицание


ЗЫ, жирное связанное с восклицанием
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.11.2009, 20:01   #3
leska
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 13
По умолчанию

Цитата:
Сообщение от _Studentka_ Посмотреть сообщение
Вот дан цикл while(!in.readLine().equals("end"))
Еще момент. Если в файле не встретится строка "end", то будет падать NUllPointerException. Так что по-хорошему надо так:

Код:
String s = null;
while((s = in.readLine()) != null &&  !s.equals("end"))
Хочешь начать карьеру фрилансера, но не знаешь как? Узнай здесь!
leska вне форума Ответить с цитированием
Старый 14.11.2009, 21:51   #4
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от leska Посмотреть сообщение
Еще момент. Если в файле не встретится строка "end", то будет падать NUllPointerException.
Немного не так - если встречается конец файла (\x00), то ридлайн будет возвращать - null, а equals - NullPointerException, иначе - просто пустую строку:
!in.readLine().equals("end") вернет false
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объясните пожалуйста Arcueid1691 Паскаль, Turbo Pascal, PascalABC.NET 9 11.06.2009 20:59
Объясните пожалуйста bunya Общие вопросы C/C++ 5 12.01.2009 22:02
Объясните пожалуйста TheHerd Паскаль, Turbo Pascal, PascalABC.NET 12 04.04.2008 21:33