Есть ли более эффективный способ кодировать что-то вроде этого, не используя столько операторов if-else?Решение if-else более эффективно, меньше строк кода (Java)
private int group1, group2, group3, group4;
private int total = 0
public void assignMembers()
{
group1 = (int)((6 * Math.random()) + 1);
group2 = (int)((6 * Math.random()) + 1);
group3 = (int)((6 * Math.random()) + 1);
group4 = (int)((6 * Math.random()) + 1);
}
public void calculateSomething()
{
if(group1 == 3)
{
total += 2;
}
else if(group1 == 5)
{
total += 4;
}
if(group2 == 3)
{
total += 2;
}
else if(group2 == 5)
{
total += 4;
}
if(group3 == 3)
{
total += 2;
}
else if(group3 == 5)
{
total += 4;
}
if(group4 == 3)
{
total += 2;
}
else if(group4 == 5)
{
total += 4;
}
{
Операторы if-else добавляют два к сумме, если группа имеет 3 члена и 4, если группа имеет 5 членов.
Я знаю, что могу сделать что-то более эффективное с массивом «групп», но есть ли способ без массива? Может быть, способ вычислить метод, чтобы получить количество членов команды каждой группы без повторения if-else? Мы ценим любые предложения.
Вы должны также рассмотреть вопрос о создании всех переменных групп в массив (или список). Это упрощает работу со всеми из них, итерируя структуру данных, и упрощает и повышает эффективность хранения большого количества переменных, если вам нужно больше 4. –