#java
#java
Вопрос:
У меня есть следующее:
Team A:
# Name
0-1 Tim
2-3 Ryan
3-4 Jim
Team B:
# Name
0-1 John
2-3 Joan
3-4 Todd
Я хотел бы написать оператор if, когда у меня есть только значение # и команда. Итак, если бы я знал, что у кого-то есть значение 1 и он был в команде A, я бы хотел, чтобы он показывал «Tim». Это то, что я придумал до сих пор, но мне не повезло. Есть предложения?
if(#>=0 amp; Team.equal("Team A")) {
'Tim'
} else if(#<=1 amp; Team.equal("Team A")) {
'Tim'
} else if(#>=2 amp; Team.equal("Team A")) {
'Ryan'
} else if(#<=3 amp; Team.equal("Team A")) {
'Ryan'
} // etc.. until all the people are listed in the conditions.
Комментарии:
1. Пожалуйста, разделите код на несколько строк?
2. Кажется, что каждое число
>= 0
таково, что это не лучший первый тест. Кроме того, пожалуйста, реальный код… очевидно, что ваш псевдокод здесь не является законным. Откуда у вас вышеуказанные оценки?3. Чего именно вы пытаетесь достичь? В вашем коде есть два случая для команды # 3 A и команды # 3 B. почему бы не пронумеровать их 0-2 или 1-3 вместо странной системы с двумя числами
4. О, хорошо, это имеет смысл. Это не 0-1, потому что они могут иметь значение 0 или 1 и быть в команде A, если это имеет смысл. Я пытаюсь сказать, что если кто-то входит в команду A и имеет значение 1 или 0, тогда отобразите имя Tim .
5. Вероятно, вы хотите изменить значение
amp;
toamp;amp;
.
Ответ №1:
Выполните заблокированные проверки. Проверьте команду, затем > 0, затем спецификацию.
if(team.equals("Team A"){
if(num>=0){
if(num <2)
return "Tim";
else if(num<4)
return "Ryan";
...etc
}
}
else if(team.equals("Team B"){
... etc
}
Комментарии:
1.
switch
Оператор для каждой команды может быть более понятным.2. Это было бы, но вложенные переключатели внутри условных выражений уродливы
3. Вы могли бы разделить их на отдельные методы для каждой команды. Просто мысль.
Ответ №2:
Пожалуйста, взгляните на проект SmartParam. Это позволяет вам определять все условия в обычном файле и оценивать с помощью его движка. Вы можете найти аналогичное решение в этом руководстве
Комментарии:
1. Что ж, теперь это действительно прихлопывание мух кувалдой.
2. Live показывает, что количество этих параметров будет расти. Таким образом, вы можете выбрать, предпочитаете ли вы дополнительную зависимость или десятки операторов if