使用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);
}
}
}
}
我没有得到任何输出,所以我知道我做错了什么。我应该在方法中使用返回类型吗?
更改它:
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++)
也= =需要== – 2011-06-10 21:36:44
另一个小细节:
i%5 = 3
应该
i%5 == 3
此:
if(i%5 = 3)
必须是这样的:
if(i%5 == 3)
您正试图设置一些内容而不是比较它。
实际上是编译错误 – 2011-06-10 21:38:28
if(i%5 == 3)
单=是赋值
需要for语句改变>在你的<,也是=以你的if语句是赋值运算符。使用比较运算符==或=== ...希望这有助于。 :)
FYI'==='在java中不存在 – 2011-06-10 21:37:49
这里是你必须做的:
- 变化
i > 1000
到i <= 1000
为i
开始用0和增量高达1000 - 变化
i%5 = 3
到i%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);
}
}
你可能要一个双等于,''==在'与其他的修正方向if' – Endophage 2011-06-10 21:34:50
简单的语法错误..>到 2011-06-10 21:35:00
这是否甚至编译?它应该是如果(我%5 == 3)。 – Dunnie 2011-06-10 21:37:17