#java #methods #switch-statement
#java #методы #switch-statement
Вопрос:
Новичок здесь пытается вернуть метод комментариев:
public static String comment(int score, int parForHole) {
if (parForHole - score > 4)
return "condor!!!!";
if (parForHole - score == 3)
return "albatross!!!";
if (parForHole - score == 2)
return "eagle!!";
if (parForHole - score == 1)
return "birdie!";
if (parForHole - score == 0)
return "par";
if (parForHole - score == -1)
return "bogey";
if (parForHole - score == -2)
return "double bogey";
if (parForHole - score < -2)
return "triple bogey";
return "asdasd"; // Replace by a suitable switch stmt.
}
Есть ли аналогичный способ сделать это с помощью оператора switch? Я не слишком знаком с этим.
Любая помощь приветствуется, спасибо!
Ответ №1:
Вы можете вычислить общее количество баллов parForHole, а затем запустить результат с помощью оператора switch.
public static String comment(int score, int parForHole) {
int total = parForHole - score;
switch(total) {
case 3 :
return "albatross!!!";
// ... and so on
}
if (total > 4)
return "condor!!!!";
if (total <= 3)
return "triple bogey!!!!";
return "asdasd";
}
но для сравнений> 4 и т.д. Я думаю, вам нужно сохранить операторы if.
Комментарии:
1. перерыв после возвращения? действительно?
Ответ №2:
public static String comment(int score, int parForHole) {
String strig;
switch(parForHole - score){
case 1:
string = "something";
break;
case 2:
string = "something else";
break;
default:
string = "default string";
break;
}
return string;
}
Switch — это просто базовое переключение на случай, который вы ему даете. Если parForHole — score равен 1, он переключится на случай 1. Если parForHole — score дает неопределенное значение, switch будет использовать регистр по умолчанию.