【发布时间】:2020-02-13 14:36:28
【问题描述】:
如何优化这段代码。
我想减少代码行数。
public class CoolDude {
public static void main(String[] args) {
for(int i = 100; i <= 500; ++i) {
if(i%5 == 0 && i%11 == 0) {
System.out.print("Cool Dude- ");
System.out.print(i + "\n");
} else if (i%5 == 0) {
System.out.print("Cool - ");
System.out.print(i + "\n");
} else if (i%11 == 0) {
System.out.print("Dude - ");
System.out.print(i + "\n");
}
}
}
}
有什么办法吗?
【问题讨论】:
-
每个分支只需要调用一次System.out,可以使用
println避免每次都需要+ "\n" -
这是 Java,因此您可以删除所有换行符并将整个内容放在一行中。但我认为这不是你真正想问的。
-
不同的语言,但相关:stackoverflow.com/questions/9461446/…。注意:在最初的“FizzBuzz”面试问题中,在第一次测试中,“Dude”和“-”之间有一个空格。
-
这不是一个 FizzBuzz 问题,而是一个非常接近的问题:对于不是两个除数的倍数的数字,没有输出。它可以以 FizzBuzz 无法优化的方式进行优化。
标签: java