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", без настройки переменных сред даже. И эта программа запустилась! Но что делать на стационарном, не знаю. Старый "Эклипс" удалила, поставила "Марс" . Одно и то же.
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)".
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".
Как ему объяснить, что это не так? Где поставить нужную галочку? Только подробно, если можно, я новичок.