Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使循环在Java程序中工作? import java.util.Scanner; 导入静态java.lang.System.out; 公共类测试stuf2{ 公共静态void main(字符串[]args){ 扫描仪键盘=新扫描仪(System.in); out.println(“输入一个数字”); int number=keyboard.nextInt(); 而(数量_Java_Loops - Fatal编程技术网

如何使循环在Java程序中工作? import java.util.Scanner; 导入静态java.lang.System.out; 公共类测试stuf2{ 公共静态void main(字符串[]args){ 扫描仪键盘=新扫描仪(System.in); out.println(“输入一个数字”); int number=keyboard.nextInt(); 而(数量

如何使循环在Java程序中工作? import java.util.Scanner; 导入静态java.lang.System.out; 公共类测试stuf2{ 公共静态void main(字符串[]args){ 扫描仪键盘=新扫描仪(System.in); out.println(“输入一个数字”); int number=keyboard.nextInt(); 而(数量,java,loops,Java,Loops,我只是在循环这个代码时有点麻烦。我刚刚开始学习Java a,这些循环一直让我感到困惑。当我运行这个程序时,如果我输入一个小于10的数字,我会得到一条信息,上面写着“这个数字太小了”“然后它允许我再次打字。然而,如果我然后键入一个大于10的数字,我会得到相同的消息。此外,如果我输入的第一个数字大于10,则我根本没有收到任何消息,程序将结束。为什么会发生这种情况?我认为您忘记了重新分配编号变量。这就是原因 然而,如果我输入一个大于10的数字,我得到的结果是相同的 信息 请尝试下面的代码。感谢@Dev

我只是在循环这个代码时有点麻烦。我刚刚开始学习Java a,这些循环一直让我感到困惑。当我运行这个程序时,如果我输入一个小于10的数字,我会得到一条信息,上面写着“这个数字太小了”“然后它允许我再次打字。然而,如果我然后键入一个大于10的数字,我会得到相同的消息。此外,如果我输入的第一个数字大于10,则我根本没有收到任何消息,程序将结束。为什么会发生这种情况?

我认为您忘记了重新分配
编号
变量。这就是原因

然而,如果我输入一个大于10的数字,我得到的结果是相同的 信息

请尝试下面的代码。感谢@Dev.Joel的评论。我已将循环修改为
do while
,以更好地适应这种情况

import java.util.Scanner;
import static java.lang.System.out;

public class TestingStuf2 {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);

            out.println("Enter a number");

            int number = keyboard.nextInt();

        while (number < 10) {
            if (number < 10) {
               out.println("This number is too small.");
               keyboard.nextInt();
           }else{
               out.println("This number is big enough.");
           }    
        }
        keyboard.close();
    }

}
import java.util.Scanner;
导入静态java.lang.System.out;
公共类测试stuf2{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
out.println(“输入一个数字”);
int number=keyboard.nextInt();
做{
如果(数字<10){
out.println(“这个数字太小了。”);
/*
*你应该在这里重新分配号码
*/
number=键盘.nextInt();
}否则{
println(“这个数字足够大了。”);
}    
}而(数量<10);
键盘关闭();
}
}

我建议您使用
断点来调试您的问题。例如,在您的情况下,将2分配给
编号
,并打印“此编号太小”。接下来,使用
keyboard.nextInt()
让用户输入另一个int。但是,数字仍然是2。因此,无论您这次输入什么,条件
number<10
都是正确的,并且再次打印
“此数字太小”

我认为您忘记了重新分配
number
变量。这就是原因

然而,如果我输入一个大于10的数字,我得到的结果是相同的 信息

请尝试下面的代码。感谢@Dev.Joel的评论。我已将循环修改为
do while
,以更好地适应这种情况

import java.util.Scanner;
import static java.lang.System.out;

public class TestingStuf2 {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);

            out.println("Enter a number");

            int number = keyboard.nextInt();

        while (number < 10) {
            if (number < 10) {
               out.println("This number is too small.");
               keyboard.nextInt();
           }else{
               out.println("This number is big enough.");
           }    
        }
        keyboard.close();
    }

}
import java.util.Scanner;
导入静态java.lang.System.out;
公共类测试stuf2{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
out.println(“输入一个数字”);
int number=keyboard.nextInt();
做{
如果(数字<10){
out.println(“这个数字太小了。”);
/*
*你应该在这里重新分配号码
*/
number=键盘.nextInt();
}否则{
println(“这个数字足够大了。”);
}    
}而(数量<10);
键盘关闭();
}
}

我建议您使用
断点来调试您的问题。例如,在您的情况下,将2分配给
编号
,并打印“此编号太小”。接下来,使用
keyboard.nextInt()
让用户输入另一个int。但是,数字仍然是2。因此,无论您这次输入什么,条件
number<10
都是正确的,并且再次打印
“此数字太小”

您解释了您得到的行为-它与您预期的行为有何不同?请更清楚发生了什么与您预期发生的情况。如前所述,很难回答你的问题。你解释了你的行为-它与你预期的有什么不同?更清楚地了解发生了什么和你预期会发生什么。如前所述,很难回答你的问题。如果你输入一个更大的数字,那么前10个数字永远不会进入下一个数字while@Dev.Joel谢谢你的好意提醒。我将编辑答案。如果您输入一个更大的数字,则前10个数字将不会输入答案while@Dev.Joel谢谢你的好意提醒。我将编辑答案。