使用for循环打印数字

时间:2011-06-10 21:31:55

标签: java for-loop

我正在尝试编写一个程序,打印0到1000之间的所有数字,其中数字mod = 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);
        }
    }

 }
}

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

9 个答案:

答案 0 :(得分:9)

从以下位置更改:

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

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

本质上,循环永远不会开始,因为循环不变量是假的(因为我小于1000),并且永远不会达到print语句,因为循环从不初始化。

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

答案 1 :(得分:5)

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

答案 2 :(得分:5)

以下是您必须做的事情:

  1. i > 1000更改为i <= 1000,因为i从0开始,最多增加到1000。
  2. i%5 = 3更改为i%5 == 3,因为第一个是进行作业,而第二个是比较相等。

答案 3 :(得分:3)

if(i%5 == 3)

single =用于作业

答案 4 :(得分:2)

此:

if(i%5 = 3)

必须是这样的:

if(i%5 == 3)

您正试图设置而不是比较它。

答案 5 :(得分:0)

另一个小细节:

i%5 = 3

应该是

i%5 == 3

答案 6 :(得分:0)

需要更改&gt;在你的声明中对&lt;而且你的if语句中的=也是赋值运算符。使用比较运算符==或=== ...希望这会有所帮助。 :)

答案 7 :(得分:0)

for(int i = 0; i &lt; 1000; i ++)

答案 8 :(得分:0)

你有两个问题:

1

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

for循环仅在i大于1000时开始,但i的初始值小于1000。代码无效。

2

if(i%5 = 3)

你需要它有两个相等的符号,以便它成为一个返回true或false值的语句。在进行更正后,您的代码将如下所示:

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