使用for循环打印数字

问题描述:

我想写打印所有号码从0到1000的程序,其中数模5 = 3,这是我迄今为止使用for循环打印数字

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); 
     } 
    } 

} 
} 

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

+4

你可能要一个双等于,''==在'与其他的修正方向if' – Endophage 2011-06-10 21:34:50

+0

简单的语法错误..>到 2011-06-10 21:35:00

+2

这是否甚至编译?它应该是如果(我%5 == 3)。 – Dunnie 2011-06-10 21:37:17

更改它:

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

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

本质上说,循环永远不会开始,因为循环不变是假的(因为我是小于1000),和你的打印语句永远不会被初始化,因为循环不会初始化。

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

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

+3

也= =需要== – 2011-06-10 21:36:44

另一个小细节:

i%5 = 3 

应该

i%5 == 3 

此:

if(i%5 = 3) 

必须是这样的:

if(i%5 == 3) 

您正试图设置一些内容而不是比较它。

+0

实际上是编译错误 – 2011-06-10 21:38:28

if(i%5 == 3) 

单=是赋值

需要for语句改变>在你的<,也是=以你的if语句是赋值运算符。使用比较运算符==或=== ...希望这有助于。 :)

+3

FYI'==='在java中不存在 – 2011-06-10 21:37:49

这里是你必须做的:

  1. 变化i > 1000i <= 1000i开始用0和增量高达1000
  2. 变化i%5 = 3i%5 == 3作为第一个做,而分配第二是比较平等。

的for(int i = 0;我< 1000;我++)

您有两个问题:

1.

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

for循环只启动时,我大于1000,但i的初始值小于一千。该代码不起作用。

2.

if(i%5 = 3) 

你需要这个有两个等号,使之成为一个返回true或false值的语句。您的代码看起来像这样进行更正后:

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