我是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");
}
}
}
}
答案 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)。