需要 For Loop 协助
For Loop assistance needed
我需要编写一个 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
我将如何实现这段代码的倍数部分?或者纠正这个错误?
您需要从 1000 到 4 的正确数字。 for
循环接受 for(init ; condition ; update)
。您可以在 for 循环中尝试以下操作:
for(int a = 1000; a >= 4; a--) {
if (a % 6 == 0)
System.out.println("a = " + a);
}
for
循环的第三部分是增量(或者在你的情况下是减量),第二部分控制主体的评估(并且 1000 永远不会小于 4),分号也终止循环体(然后你有一个匿名块)。试试像
for (int a = 1000; a >= 4; a--) {
if (a % 6 == 0) {
System.out.println("a = " + a);
}
}
您可以将其理解为从 1000 到 3 的循环,每次迭代时将值减一,如果当前值可以被 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 的倍数。
这里是 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);
}
你的 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);
}
我需要编写一个 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
我将如何实现这段代码的倍数部分?或者纠正这个错误?
您需要从 1000 到 4 的正确数字。 for
循环接受 for(init ; condition ; update)
。您可以在 for 循环中尝试以下操作:
for(int a = 1000; a >= 4; a--) {
if (a % 6 == 0)
System.out.println("a = " + a);
}
for
循环的第三部分是增量(或者在你的情况下是减量),第二部分控制主体的评估(并且 1000 永远不会小于 4),分号也终止循环体(然后你有一个匿名块)。试试像
for (int a = 1000; a >= 4; a--) {
if (a % 6 == 0) {
System.out.println("a = " + a);
}
}
您可以将其理解为从 1000 到 3 的循环,每次迭代时将值减一,如果当前值可以被 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 的倍数。
这里是 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);
}
你的 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);
}