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

Android: Is there an easier way to call specific integers in an if else statement?

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

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

有没有更简单的方法来清理它?该列表增加到 50,因此它占用了一堆 space。提前致谢

如果它们总是上升 3 那么你可以

if(x < 50 && x % 3 == 1)

取模return一个除法的余数

我相信最高可能值将是 49,即使你说它上升到 50,因为你确认它总是上升 3。

否则,如果您想知道 java 中是否有 x in (1,2,3) 这样的东西,那么不,没有。

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) {
    ... 
}

您可以创建一个 ArrayList 并将所有值添加到其中。 然后检查arraylist是否包含"x"

示例:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(3);
...
if(list.contains(x)){/*do stuff*/}

这个 for 循环将打印出 1 到 49 之间的相似值:

for (int x = 1; x <= 50; x += 3) {
    System.out.println(x);
}

也许您可以在 if 语句中使用类似的逻辑。