使用循环计数的家庭作业(Java)

时间:2016-09-11 03:43:16

标签: java oop while-loop

作业是......

  

使用变量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的新手,仍在努力解决这个问题。

5 个答案:

答案 0 :(得分:2)

更改

while (i < 4) {
    i = userNum - 1;
    System.out.print(userNum + " ");
}

之类的(因为你希望1userNum,或者在这种情况下是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++;