2个数字的倍数

时间:2015-07-21 17:49:44

标签: java algorithm

我有一个函数java,我需要打印2个数字3和5的倍数我执行此功能。但它不是很干净

for(int i = 1; i <= 100; i++){
    if (i % 3 == 0 && i % 5 == 0) {
        System.out.println("im multiple of 3 and 5");
    }
    else if (i % 3 == 0) {
        System.out.println("im multiple of 3");
    }
    else if (i % 5 == 0) {
        System.out.println("im multiple of 5");
    }
    else{
        System.out.println(" i dont multiple");
    }
}

我应该怎么做更清晰的代码

3 个答案:

答案 0 :(得分:0)

这是经典的FizzBu​​zz问题。下面是为同一个编写简洁代码的一种方法。您可以修改相同的内容以适合您的问题陈述。

public class Fizzbuzz {
    public static void main(String[] args) {
         for (int i = 1; i <= 100; i++) {
            String output = "";
            output += (i % 3) == 0 ? "Fizz" : "";
            output += (i % 5) == 0 ? "Buzz" : "";
            System.out.println(output.isEmpty() ? i : output);
        }
    }
}

希望有所帮助。

答案 1 :(得分:0)

您可以重构您的代码(提取方法)。或者您可以利用面向对象编程。您的代码很简单,您可能无法利用设计设计模式

答案 2 :(得分:0)

String mul2="",mul3="",mulof3and5="";
for(int i = 1; i <= 100; i++){
mul2+=i*2;
mul3+=i*3;
mulof3and5+=i*6;
}
System.out.println(mul2);
System.out.println(mul3);
System.out.println(mulof3and5);
相关问题