在Java

时间:2016-09-04 05:03:07

标签: java

我是Java的新手,这是一个简单的问题,但我在1到100之间打印小数字时遇到问题。小数字是小于20的数字,我希望我的程序打印出每个“小x”少数。

当我跑步时,我没有得到我想要的东西,我只是打了100次“小x”。

这是我的代码:

class ExerciseA {
 public static void main(String[] args) {
    int x = 1;
    while ( x  <  100 ) {
        x = x + 1;
        if( x > 20) {
         System.out.println("small x");
      }
    }
  }
}

3 个答案:

答案 0 :(得分:5)

>意味着更大,但你想要更少。所以使用<。你的代码中的另一件事,1不会被打印,因为它在打印之前会增加。这应该是:

int x = 0;
while ( x  <  100 ) {
    x++; // shorter than x = x + 1;
    if (x < 20) {
        System.out.println("small x");
       //System.out.println("small " + x); //if want to print like small 1, small 2 etc.
  }
}

答案 1 :(得分:0)

您的System.out.println正在打印小x,因为它使用整个字符串而不是使用变量x的值。

另外,如果要为小于20的数字打印小x,则应使用x <20。

int x = 0;
while ( x  <  100 ) {
    x = x + 1;
    if( x < 20) {
     System.out.println("small " + x);
  }
}

答案 2 :(得分:0)

你可以在更匹配的for-loop风格中写下这种循环:

for (int i = 1; i <= 100; i++) {
  if (isSmall(i)) {
     System.out.println("small i");
  }

通过将支票“这是一个小数字”放入其自己的方法中,使用一点“重新分解”:

private boolean isSmall(int i) {
  return i < 20;
}

使用这些小方法是你应该尽快习惯的 - 因为它有助于“隔离”某些功能。我做的另一个改变是:在计算机科学中,整数的变量通常称为“i,j,k”......等等;而x,y,...将用于浮点数!

当然:你的比较错了 - 如果你想要小于20的数字,那么,你必须这么说(i &lt; 20)。