Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java. Кто может помочь с "Eclipse"? Вопрос внутри.

Татьяна Иванова Ученик (94), закрыт 9 лет назад
Текст программы такой:
class ss {
public static void main(String args[]) {
String command = "cancel";
switch (command) {
case "connect":
System.out.println("Connecting");
break;
case "cancel":
System.out.println("Canceling");
break;
case "disconnect":
System.out.println("Disconnecting");
break;
default:
System.out.println("Command Error!");
break;
}
}
}

У меня на компьютере версия JVM последняя - 1.8. В этом легко убедиться с помощью запроса из cmd.
При компиляции программы "Eclipse" (тоже последней версии) говорит:
"Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted".
Как ему объяснить, что это не так? Где поставить нужную галочку? Только подробно, если можно, я новичок.
Лучший ответ
Dimentr Гуру (3941) 9 лет назад
Посмотрите Project -->Properties --> Java Compiler, then select Enable projects specific settings and select Compiler Compliance Level 1.8. And under the Java Build Path libraries, there is JRE1.8.0-45.

И вместо JRE выберите JDK.

Если не поможет, а очень надо реализовать такой функционал, замените кучкой if(command.equals("...")) и т. д. . Или сделать массивчик с командами и в switch уже использовать номер
nУченик (104) 9 лет назад
Спасибо за ответ, но почему он мне даже не предлагал выбрать эти варианты. Прилагаю скриншоты.
А насчет другого пути, так рано или поздно это опять всплывет... Где-то в другом месте.
nУченик (104) 9 лет назад
Поставила на Win 10 на ноутбук "Eclipse mars", без настройки переменных сред даже. И эта программа запустилась! Но что делать на стационарном, не знаю. Старый "Эклипс" удалила, поставила "Марс" . Одно и то же.
Dimentr Гуру (3941) Скачал марс тоже, при установке он меня что-то спрашивал про JRE, указал на 1.8, всё встало хорошо и код работает. Вижу этот парадокс на скринах, эклипс видит 1.8, но не даёт использовать, да?) Не знаю как с таким бороться. Я бы удалил все jre и jdk, которые есть, удалил эклипс. Поставил jdk 1.8, поставил эклипс. В таком случае у него просто не будет других вариантов кроме как использовать 1.8 :)
Остальные ответы
N N Ученик (211) 9 лет назад
Пробовали переустановить или юзать другие IDE? Инструкция по установке библиотек:
Create new project>В блоке JRE галочку на первый вариант и выбираете JavaSE-1.8
Татьяна ИвановаУченик (94) 9 лет назад
Переустанавливать - слишком радикально, и ничего не изменится. Юзать - тоже нет. Поставила галочку на JavaSE-1.7, т. к. JavaSE-1.8 не было варианта. В общем, ничего не изменилось, кроме ошибки: "Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at sss.sss.main(sss.java:2)".
Денис Рамусь Гуру (2937) 9 лет назад
Build path посмотрите
Татьяна ИвановаУченик (94) 9 лет назад
А подробнее можно объяснить?
Денис Рамусь Гуру (2937) Прошу прощение, а почему Eclipse? Попробуйте Intelij Idea. А по теме Windows->Preferences->Installed JRE кнопочка add и выберите путь к JDK. В новом проекте выберите версию USE a project sperific JRE и выберите вашу.
Похожие вопросы