我正在尝试编写一个程序,打印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);
}
}
}
}
我没有得到任何输出,所以我知道我做错了什么。我应该在方法中有返回类型吗?
答案 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)
以下是您必须做的事情:
i > 1000
更改为i <= 1000
,因为i
从0开始,最多增加到1000。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);
}
}