2014-01-28 88 views
0

所以问题是要求创建一个方法,它将一个整数x作为参数,并打印出0-> x的所有整数为3的整数。Java:创建方法在1和n之间打印所有3的倍数?

我可以打印出的次数,像这样除以3 X:

public int Threes(int x){ 

    int i = 0; 
    for(int counter = 1; counter <= x; counter++){ 
     if (counter % 3 ==0){ 
      i ++; 
     } 

    } 
     return i; 

,但我不知道如何打印出的3每个多!?

+0

如果(计数%3 == 0){ 我++ ;的System.out.println(计数器); } – WeMakeSoftware

+0

该程序不打印三次除以'x'的次数。相反,它会返回少于'x' FYI的'3'的倍数 – apnorton

回答

6
for(int counter = 1; counter <= x; counter++){ 
    if (counter % 3 ==0){ 
     System.out.println(counter); 
    } 

} 
3

一个更快的方法是通过3

public void Threes(int x) { 
    for (int counter = 3; counter <= x; counter = counter + 3) { 
     System.out.println(counter); 
    } 
} 

递增这个循环将右跳,而不是计算每一个号码,不必做的每一个模检查的3倍数,迭代。既然我们知道1和2不是3的倍数,我们只是在循环的开始处跳到3。如果输入值小于3,则不会打印任何内容。此外,该功能应为void,因为您正在打印而不是返回任何内容。

(你的标题说1 to n,但你的问题说:0 to n,所以如果你真的从0 to n需要,然后更改声明counterint counter = 0;

相关问题