首页 Java Java 多个if判断语句压缩简化合成一个if的方法代码

Java 多个if判断语句压缩简化合成一个if的方法代码

示例代码

public static void main(String[] args) {
for (int i = 100; i < 10000; i++) {
if (i % 2 ==0) {
if (i % 3 ==0) {
if (i % 4 ==0) {
if (i % 5 ==0) {
if (i % 6 ==0) {
if (i % 7 ==0) {
if (i % 8 ==0) {
if (i % 9 ==0) {
System.out.println(i);
break;
}
}
}
}
}
}
}
}
}
}

1、使用数学方法合成一个if语句

if (i % (2 * 3 * 4 * 5 * 6 * 7 * 8 * 9) == 0)

if (i % (5 * 7 * 8 * 9) == 0)

2、使用IntStream和for循环实现

for (int i = 100; i < 10000; ++i) {
int x = i;
if (IntStream.of(2, 3, 4, 5, 6, 7, 8, 9).allMatch(k -> x % k == 0)) {
System.out.println(i);
break;
}
}

int result = IntStream
.range(100, 10000)
.filter(i -> IntStream.of(2, 3, 4, 5, 6, 7, 8, 9).allMatch(k -> i % k == 0))
.findFirst()
.getAsInt();
System.out.println(result);

3、嵌套if语句用&&(AND符)实现

if (i % 2 == 0 && i % 3 == 0 && i % 4 == 0 && i % 5 == 0 && i % 6 == 0 && i % 7 == 0 && i % 8 == 0 && i % 9 == 0) {
System.out.println(i);
}

4、使用for循环实现

如果多个if条件判断的不是数字或数字不连续,可以使用数组来进行遍历。

public static boolean isDivisible(int number) {
for (int i = 2; i <= 9; i++) {
if (num % i != 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
for (int i = 100; i <= 100000; i++) {
if (isDivisible(i)) {
System.out.println("Divisible by numbers 2...9: " + i);
break;
}
}
}




特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。