目前这是我的if / else语句:
if (x ==1 || x == 4 || x == 7 || x == 10 || x == 13 || x == 16, etc...) { }
有更简单的方法来清理它吗?该列表最多可达50,因此它占用了大量空间。提前致谢
答案 0 :(得分:4)
如果他们总是上升3,那么你可以做
if(x < 50 && x % 3 == 1)
模数返回除法的剩余部分。
我相信最高可能值为49即使你说它达到50,因为你确认它总是上升到3。
如果你想知道在java中是否有类似x in (1,2,3)
这样的东西,那么就没有了。
答案 1 :(得分:2)
您可以创建一个ArrayList并将所有值添加到其中。 然后检查arraylist是否包含“x”
示例:
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(3);
...
if(list.contains(x)){/*do stuff*/}
答案 2 :(得分:0)
switch statement是一种替代方案,可以使您的代码更具可读性。
switch (number) {
case 1: number = 1;
case 2: number = 4;
case 3: number = 7;
...
case n: number = n;
doSomething();
break;
default: number = 0;
break;
}
但是,如果你的整数总是增加3,你可以实现modulo
,这会大大减少代码量。
if (x % 3 == 1) {
...
}
答案 3 :(得分:0)
这个for循环将打印出1到49之间的类似值:
for (int x = 1; x <= 50; x += 3) {
System.out.println(x);
}
也许您可以在if
声明中使用类似的逻辑。