public static void readKeyFromConsoleAndInitPlanet() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
if (s.equals(Planet.EARTH)) {
thePlanet = Earth.getInstance();
} else if (s.equals(Planet.MOON)) {
thePlanet = Moon.getInstance();
} else if (s.equals(Planet.SUN)) {
thePlanet = Sun.getInstance();
} else thePlanet = null;Александр
20 уровень
А тут можно через switch case реализовать?
Решен
Комментарии (12)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
--------Master
7 декабря 2018, 13:16
А кто мешает реализовать и посмотреть, будет работать или нет?
0
АлександрExpert
7 декабря 2018, 13:32
Я пробовал не получается, может что то не так делаю а что не пойму
0
--------Master
7 декабря 2018, 13:41
Покажи, как пробовал
0
АлександрExpert
7 декабря 2018, 14:03
0
--------Master
7 декабря 2018, 14:15
Допустим, s=Planet.SUN. Тогда этот фрагмент, по сути, работает так:
0
АлександрExpert
7 декабря 2018, 14:22
а если у меня надо сравнить несколько s=Planet.SUN s=Planet.Moon s=Planet.Earth.
Выходит данный способ бесполезен, или расписывать придется много. if практичнее
0
--------Master
7 декабря 2018, 14:28
Насчет практичности и полезности - сложно сказать (кому как нравится), но в данном случае речь о том, что ты сам case оформил неправильно, потому у тебя он и не работает. Если с аналогичной ошибкой написать if, то о практичности тоже придется забыть)) :
0
АлександрExpert
7 декабря 2018, 14:33
я что то не совсем понимаю, если не трудно можете показать код с использованием swtch для s=Planet.SUN s=Planet.Moon s=Planet.Earth.
0
--------Master
7 декабря 2018, 14:34решение
+2
АлександрExpert
7 декабря 2018, 14:36
воот блиииин..... я балбес. Спасибо, извините за глупый вопрос
+1
Артем DivertittoSenior Android-разработчи в United TechMaster
7 декабря 2018, 15:04
break так же можешь расставить
0
АлександрExpert
8 декабря 2018, 08:57
Спасибо, учту
0