0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
|
||||||
1 | ||||||
Java игнорирует IF внутри SWITCH13.05.2013, 12:25. Показов 2427. Ответов 16
Метки нет (Все метки)
Всем доброго времени суток!
Пишу программу, внутри SWITCH'а вставил IF, который до вставки в SWITCH работал идеально. Знаний не хватает, в книгах не нашел, но ДЖАВА игнорирует возможные варианты, не проверяя два IF'а, просто выполняя заключительный ELSE. Если закомментировать все, кроме IF'ов, опять начинает работать нормально. Методом тыкания определил, что ДЖАВА не выполняет String salType = new String (reader.readLine());
0
|
13.05.2013, 12:25 | |
Ответы с готовыми решениями:
16
Рефакторинг switch внутри switch в static классе gets внутри switch Объявление внутри switch Выход из функции внутри switch |
13.05.2013, 12:32 | 2 | |||||
А вы уверены что она не проверяет if?
Попробуйте, например, вывести длину salType, перед проверками. Возможно, это поможет вам в поисках причины.
0
|
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
|
||||||
13.05.2013, 12:44 [ТС] | 3 | |||||
Наверно, проверяет, но salType ничего не содержит.
Если сделать так:
Добавлено через 6 минут На экране будет: salType =
0
|
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
|
|
13.05.2013, 13:16 [ТС] | 5 |
К сожалению, пишу с работы, тут IDE нет возможности поставить.
Вставка - это размещение ИФа внутрь СВИТЧА. До этой операции salType инициализировался. После - перестал.
0
|
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
|
||||||
13.05.2013, 13:41 | 6 | |||||
лучше Scanner используйте
0
|
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
|
|
13.05.2013, 15:27 [ТС] | 10 |
tankomaz, спасибо, попробую сканнер, как дома окажусь.
Про скобки лишние - извините, правил в блокноте кусок кода, на этого кода скобки которого ECLIPSE не ругался. Стирал ненужные Вам операторы, скобка и осталась. Просто я не понимаю - должно работать, и снаружи от СВИТЧА работает, salType инициализируется, а внутри СВИТЧА - перестает.
0
|
37 / 41 / 3
Регистрация: 10.10.2010
Сообщений: 364
|
|
13.05.2013, 15:34 | 11 |
после case: должен быть блок
0
|
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
|
||||||
13.05.2013, 15:38 | 12 | |||||
без компилятора, какой будет вывод?
0
|
37 / 41 / 3
Регистрация: 10.10.2010
Сообщений: 364
|
|
13.05.2013, 15:39 | 13 |
ну так это когда один оператор. Как минимум из за симантики вы обязаны поставить блок
0
|
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
|
|
13.05.2013, 15:41 | 14 |
какой симантики? по code convention всё в порядке (пункт 7.8)
http://www.oracle.com/technetw... 1.html#468
0
|
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
|
|
13.05.2013, 15:53 [ТС] | 15 |
ВЫвод:
1 2 3 Добавлено через 57 секунд Свитч интересен тем, что {} не нужно.
0
|
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
|
|
14.05.2013, 11:02 [ТС] | 17 |
а почему мой salType не хочет инициализироваться?!!! Добавлено через 19 часов 6 минут Спасибо, Scanner помог.
0
|
14.05.2013, 11:02 | |
14.05.2013, 11:02 | |
Помогаю со студенческими работами здесь
17
Пропуск условия if внутри switch Объявление переменных внутри блока switch Ошибки при создании объекта внутри switch case Как создать условие if внутри switch? (обработчик клавиш) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |