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
语句中使用类似的逻辑。
目前这是我的 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
语句中使用类似的逻辑。