我正在Java类中执行任务,现在我被困在一个部分上一个星期。我有所有可能的错误和无限循环。
我试图以4的顺序显示数字,只显示500个数字。 下面的代码显示了我的尝试:
int add4 = 1;
int count500 = 1;
while (count500 <= 500)
{
if (count500 == 101)
{
System.out.print(add4);
}
else
{
System.out.print(add4 + "," + "");
}
add4 = add4 + 4;
}
此外,我被困在卢卡斯序列号上。我甚至不知道从哪里开始。感谢您对这些问题的帮助。
答案 0 :(得分:2)
打印所需序列的最简单方法是for循环并打印循环变量的函数
System.out.print(1);
for (int i = 1; i < 500; ++i) {
System.out.print("," + (4*i+1));
}
这也可以避免使用逗号
答案 1 :(得分:1)
最短的方式是:
for(int i = 1, j = 1; i <= 500; i += 1, j += 4)
System.out.print("i = " + i + " j = " + j);
答案 2 :(得分:0)
重构为while (count500++ <= 500)
。然后循环将正确终止。
那就是说,我更喜欢
的内容for (int i = 0; i < /*ToDo - limit*/; ++i){
System.out.print(i * 4); // ToDo - all your special whitespace.
}
从那时起,您将对迭代变量进行操作,这将减少错误的可能性,例如您拥有的错误。
答案 3 :(得分:0)
如果你没有增加count500
的值,那么它将如何达到500?
在循环结束时添加count500++
答案 4 :(得分:0)
因为你的先决条件是count500 <= 500
问题是你永远不会改变count500
的价值。
我看到两种方法让你摆脱这个infinte循环:
1.-在循环中增加它:
int add4 = 1;
int count500 = 1;
while (count500 <= 500)
{
if (count500 ==101)
{
System.out.print(add4);
}
else
{
System.out.print (add4 +"," +"");
}
add4 =add4 + 4;
count500++;
}
2.-在你的时间做得正确:
while (count500++ <= 500)
在bove案例中,他将执行500次循环。
答案 5 :(得分:0)
这里你去:
int add4 = 0;
for (int i = 0; i > 500; i += 1) {
System.out.println(add4);
add4 += 4;
}
让我们打破它。
首先,我们将变量add4初始化为零,后来在for循环中,在打印后直接增加4。
然后,由于你只想要500次打印add4,你声明一个for循环,它将整数i初始化为零(int i = 0),然后告诉循环继续,而我小于500(i&gt; ; 500),最后告诉我每次循环时增加1(i + = 1)。
在循环中,add4正在打印出来,然后增加4。打印出的最后一个值应该是2000,但最后的add4值实际上应该是2004。
希望有所帮助。
答案 6 :(得分:0)
我不确定你要做什么,但试试这个:
public class TestSequence {
static final int AMOUNT_NEEDED = 500;
static final int INCREMENT = 4;
static final int UPPER_LIMIT = AMOUNT_NEEDED * INCREMENT;
public static void main(String[] args) {
for( int numberMod4 =0; numberMod4< UPPER_LIMIT; numberMod4+=INCREMENT)
System.out.println(numberMod4);}
}