Java 使用for循环打印数字

Java 使用for循环打印数字,java,for-loop,Java,For Loop,我正试图编写一个程序,打印从0到1000的所有数字,其中数字mod 5=3。这就是我目前所拥有的 public class NewMain { public static void modNumbers(int i) { } public static void main(String[] args) { for(int i = 0; i > 1000; i++) { if(i%5 = 3) { System.out.p

我正试图编写一个程序,打印从0到1000的所有数字,其中数字mod 5=3。这就是我目前所拥有的

public class NewMain {
public static void modNumbers(int i)
{

}

public static void main(String[] args) {

    for(int i = 0; i > 1000; i++)
    {
        if(i%5 = 3)
        {
        System.out.println(i);
        }
    }

 }
}
我没有得到任何输出,所以我知道我做错了什么。我应该在方法中有一个返回类型吗?

for(int I=0;I<1000;I++)
将其从以下内容更改为:

for (int i = 0; i > 1000; i++)

for(int i=0;i<1000;i++)
本质上,循环永远不会开始,因为循环不变量为false(因为i小于1000),而print语句永远不会到达,因为循环从未初始化

此外,正如WTP所提到的,使用==进行数值比较(一个重要的注意事项是使用string1.equals(string2)或与字符串进行比较,仅供将来参考)。

另一个小细节:

i%5 = 3
应该是

i%5 == 3
这:

必须是这样的:

if(i%5 == 3)
您试图设置某些内容,而不是进行比较

if(i%5 == 3)

single=is for assignment

需要将for语句中的>更改为<,并且if语句中的=是赋值运算符。使用比较运算符==或===。。。希望这有帮助。:)

以下是您必须做的:

  • i>1000
    更改为
    i(int i=0;i您有两个问题:

    一,

    for循环仅在i大于1000时启动,但i的初始值小于1000。代码将不起作用

    二,

    您需要它有两个等号,以便它成为一个返回真值或假值的语句。更正后的代码如下所示:

    for(int i = 0; i < 1000; i++)
    {
        if(i%5 == 3)
        {
        System.out.println(i);
        }
    }
    
    for(int i=0;i<1000;i++)
    {
    如果(i%5==3)
    {
    系统输出打印LN(i);
    }
    }
    
    您可能希望在
    if
    中使用双等于,
    ==
    以及其他更正简单语法错误..>to==
    在java中不存在
    if(i%5 == 3)
    
    for(int i = 0; i > 1000; i++)
    
    if(i%5 = 3)
    
    for(int i = 0; i < 1000; i++)
    {
        if(i%5 == 3)
        {
        System.out.println(i);
        }
    }