Android:在if else语句中是否有更简单的方法来调用特定的整数?

时间:2015-02-12 22:09:08

标签: java android if-statement int

目前这是我的if / else语句:

if (x ==1 || x == 4 || x == 7 || x == 10 || x == 13 || x == 16, etc...) { }

有更简单的方法来清理它吗?该列表最多可达50,因此它占用了大量空间。提前致谢

4 个答案:

答案 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声明中使用类似的逻辑。