package com.javarush.task.pro.task08.task0805;
import java.util.Random;
public class MagicBall {
private static final String CERTAIN = "Бесспорно";
private static final String DEFINITELY = "Определённо да";
private static final String MOST_LIKELY = "Вероятнее всего";
private static final String OUTLOOK_GOOD = "Хорошие перспективы";
private static final String ASK_AGAIN_LATER = "Спроси позже";
private static final String TRY_AGAIN = "Попробуй снова";
private static final String NO = "Мой ответ — нет";
private static final String VERY_DOUBTFUL = "Весьма сомнительно";
private static String answer;
public static String getPrediction() {
Random x = new Random();
int y = x.nextInt(8);
String answer = switch (new Random().nextInt(y)) {
case 0:
return CERTAIN;
break;
case 1:
return DEFINITELY;
break;
case 2:
return MOST_LIKELY;
break;
case 3:
return OUTLOOK_GOOD;
break;
case 4:
return ASK_AGAIN_LATER;
break;
case 5:
return TRY_AGAIN;
break;
case 6:
return NO;
break;
case 7:
return VERY_DOUBTFUL;
break;
default:
return null;
break;
}
}
return answer;
}
Не могу понять, почему код не компилируется. Please help)
Igor G
15 уровень
Не могу решить через switch
Обсуждается
switch
, но Вам необходимо решить, либо Вы используете switch expression, либо switch statement. Так как в Вашем коде используется switch expression, но неправильно. Если Вы хотите использовать именно switch expressions, то Вам будет необходимо, в настройках проекта, поднять langage level до 14 версии, так как switch expressions окончательно добавили в Java, именно в этой версии. Подробно, о различиях между switch statement и switch expressions, можно прочитать здесь, здесь и здесь.