需要循环辅助

时间:2015-02-12 04:31:05

标签: java for-loop

我需要写一个for循环,它会打印从1000到4的数字,它们是6的倍数,每行一个数字。

据我所知,我的结构正确。

    public class multiples
    {
        public static void main(String[] args)
        {
            for(int a = 1000; a < 4; a % 6 == 0);
            {
                System.out.println("a = " + a);
            }
        }
    }

我一直收到这些错误

    multiples.java:5: error: not a statement
            for(int a = 1000; a < 4; a % 6 == 0);
                                           ^
1 error

我如何实现此代码的倍数部分?或者补救这个错误?

4 个答案:

答案 0 :(得分:3)

for循环的第三部分是增量(或者在你的情况下是减量),第二部分控制主体的评估(并且1000永远不会小于4),分号也终止循环body(然后你有一个匿名块)。尝试像

这样的东西
for (int a = 1000; a >= 4; a--) {
    if (a % 6 == 0) {
        System.out.println("a = " + a);
    }
}

你可以读取为1000到3的循环,每次迭代时将值减1,如果当前值可被6整除则显示该值。

当然,你可以优化你的程序,如

for (int a = 996; a >= 6; a -= 6) {
    System.out.printf("a = %d%n", a);
}

也将输出6的每个倍数,并通过使用整数数学来确定除以1000/6得到166.并且166 * 6 = 996.当然,6是6的第一个倍数大于4。

答案 1 :(得分:1)

您需要1000到4之间的数字。 for循环接收for(init ; condition ; update)。您可以在for循环中尝试以下操作:

for(int a = 1000; a >= 4; a--) {
  if (a % 6 == 0)
    System.out.println("a = " + a);
}

答案 2 :(得分:0)

这是for循环的结构:

for(<variable declaration or init>; <boolean expression>; <statement>)

语句需要为某个东西分配变量(循环运行后的动作)

以下是修订后的代码:

for(int a = 1000; a >= 4; a--) {  //start with 1000, minus one everytime. (decrement your a variable)
    if (a % 6 == 0) //is "a" a multiple of 6?
    System.out.println("a = " + a);
}

答案 3 :(得分:0)

您的for循环语法本身错误。

for (initialization; termination; increment) {
    statement(s)
}

并尝试此代码

for(int a = 1000; a > 4; a--)  // decrement here
{
  if (a % 6 == 0)    // you have to apply condition here only for the correct logic
    System.out.println("a = " + a);
}