在java中除以while循环

Ibr*_*him 0 java while-loop integer-division

我正在尝试做的是使用while循环来检查userNum%2> 1一旦它击中一个我希望它停止并打印出除法的所有值,例如

如果20是用户num,它将生成.20/2和10/2和5/2然后2/2导致1然后停止(整数除法)

import java.util.Scanner;

public class DivideByTwoLoop {
   public static void main (String [] args) {
      int userNum = 0;

      userNum = 20;

      while ( (userNum % 2) > 1){
         userNum = userNum / 2;
         System.out.println(userNum );
      }

      System.out.println("");

      return;
   }
}
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所拥有的.任何帮助是极大的赞赏.

Pau*_*aul 6

userNum % 2总是 1或0,所以条件while-loop是不正确的.条件应该是userNum > 1而不是(userNum % 2) > 1.