作业是......
使用变量
userNum
编写一个将1打印到i
的while循环。 用空格跟随每个数字(甚至是最后一个)。假设userNum
是 正。例如:userNum = 4
打印:1 2 3 4
这就是我所拥有的:
int userNum = 0;
int i = 0;
userNum = 4; // Assume positive
while (i < 4) {
i = userNum - 1;
System.out.print(userNum + " ");
}
System.out.println("");
我不断收到无限循环错误。任何帮助是极大的赞赏。我是Java的新手,仍在努力解决这个问题。
答案 0 :(得分:2)
更改
while (i < 4) {
i = userNum - 1;
System.out.print(userNum + " ");
}
之类的(因为你希望1
到userNum
,或者在这种情况下是4
)
while (i < userNum) {
System.out.printf("%d ", ++i); // <-- since you want to start at 1.
}
就像你在每次迭代时将i
重置为初始值减1(因此是无限循环)。
答案 1 :(得分:2)
所以问题就在于你处理我的方式。请参阅下面的代码。
int userNum = 0;
int i = 0;
userNum = 4; // Assume positive
while (i < 4) {
//i = userNum - 1; // this line will result in i equals 4 minus 1 which equal 3 infinitely
i++; // this means after each iteration of the this line add 1 to i
System.out.print(i + " ");
}
System.out.println("");
答案 2 :(得分:1)
你应该使用i ++
while (i < userNum) {
i++;
System.out.print(i + " ");
}
答案 3 :(得分:1)
请尝试以下代码,我相信这可以解决您的问题。
int i = 0;
int userNum = 4;
while (i < userNum) {
i++; //keep incrementing i till its less than userNum
System.out.print(i + " "); //keep printing i till its less than userNum
}
//come out of the loop when i becomes greater than userNum
答案 4 :(得分:0)
在打印之前是减量i = 0条件检查i&lt; 4是真的然后i = i-1等于-1并且再次打印i <4再次减少i是-1现在-2所以这就是为什么你得到无限循环
System.out.println(i + " ");
i++;