gpt4 book ai didi

java - 如何减少 if 语句

转载 作者:IT老高 更新时间:2023-10-28 20:24:00 27 4
gpt4 key购买 nike

下面的程序根据需要运行,但我如何减少 if 语句的数量。有人告诉我,如果您的函数包含 2 个或更多 if 语句,那么您做错了。有什么建议么?我尝试过使用 switch 语句,但没有成功,因为 case 不能是 boolean 值。

for(int i = 1; i < 100; i++)
{
if(i % 10 == 3)
{
System.out.println("Fizz" + "(" + i + ") 3%10");
}

if(i / 10 == 3)
{
System.out.println("Fizz" + "(" + i + ") 3/10");
}


if(i % 10 == 5)
{
System.out.println("Buzz" + "(" + i + ") 5%10");
}

if(i / 10 == 5)
{
System.out.println("Fizz" + "(" + i + ") 5/10");
}

if(i / 10 == 7)
{
System.out.println("Fizz" + "(" + i + ") 7/10");
}

if(i%10 == 7)
{
System.out.println("Woof" + "(" + i + ") 7%10");
}

if(i % 3 == 0)
{
System.out.println("Fizz" + "(" + i + ") 3%==0");
}

if(i % 5 == 0)
{
System.out.println("Buzz" + "(" + i + ")5%==0");
}

if(i % 7 == 0)
{
System.out.println("Woof" + "(" + i + ")7%==0");
}

if( (i % 7 !=0 ) && (i % 3 !=0 ) && (i % 5 !=0 )
&& (i % 10 !=3) && (i % 10 !=5 ) && (i%10 !=7 ) )
System.out.println(i);
}

最佳答案

如何为案例创建一个方法:

 public void printIfMod(int value, int mod){
if (value % 10 == mod)
System.out.println(...);
}

public void printIfDiv(int value, int div){
if (value / 10 == div)
System.out.println(...);
}

然后你有一组调用这两个方法而不是一堆 if。您甚至可以创建一个调用上述两种方法的方法。

 public void printIf(int value, int div){
printIfMod(value, div);
printIfDiv(value, div);
}

for(int i = 1; i < 100; i++) {
printIf(i, 3);
printIf(i, 5);
....
}

在上面的代码中,ifs 的数量对我来说比重复代码的数量要少。

关于java - 如何减少 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16669753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com