【发布时间】:2017-02-17 02:14:52
【问题描述】:
有没有更有效的方法来编写这样的代码而不使用尽可能多的 if-else 语句?
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;
}
{
如果组有 3 个成员,if-else 语句将在总数中添加 2,如果组有 5 个成员,则将添加 4。
我知道我可以使用“组”数组做一些更有效的事情,但是有没有没有数组的方法?可能是 calculateSomething 方法的一种方法来获取每个组的团队成员的数量,而不必重复 if-else 这么多?任何建议将不胜感激。
【问题讨论】:
-
您还应该考虑将所有组变量放入一个数组(或列表)中。这使得通过迭代数据结构更容易对所有变量执行操作,并且如果您需要超过 4 个变量,则可以更轻松、更高效地存储大量变量。
标签: java if-statement switch-statement conditional