Java 中的 while 循环无法正常工作
while loop in Java not working as I wanted
我想写一个接受用户输入的程序,只要输入不为 0,它就会一直请求输入。
我是怎么做到的: 我决定检查第一个输入是否为 0,如果为 0 则程序将立即退出。如果第一个输入不是 0 那么它会要求用户输入更多数字。
我的问题: 只问了我2次就执行程序结束语句
我的代码
import java.util.Scanner;
public class MyArList {
private static final int num2 = 0;
public static void main (String[] args){
Scanner userInput = new Scanner(System.in);
System.out.print("Enter 1st number: ");
int num1 = userInput.nextInt();
if (num1==0){
System.out.println("program exits");
}
else
{System.out.print("Enter more numbers: ");
while(!(userInput.nextInt()==0))
System.out.print("Progam ends ");
}
}
}
我也想过/尝试过,但也没用
if( num1==0){
System.out.println("Program exits");
}
else{
do{
System.out.print("Enter more numbers: ");
int num2 = userInput2.nextInt();
}while(!(num2==0));
感谢您的宝贵时间和意见。
您的程序运行良好。它会让你一直输入数字,直到你输入 0
。只是您会一直看到 "Program ends",直到您键入 0
。你的输出语句让你自己感到困惑。
在你的 while
循环中,打印 "Keep entering more numbers"
而不是 "Program ends "
。在 while
循环完成后打印 "Program ends"
。
我采用了您的第一种方法,只是更改了 while 循环,所以您最好说一下,您做错了什么。
看看:
import java.util.Scanner;
public class MyArList {
private static final int num2 = 0;
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.print("Enter 1st number: ");
int num1 = userInput.nextInt();
if (num1 == 0) {
System.out.println("program exits");
} else {
do
System.out.print("Enter more numbers: ");
while (!(userInput.nextInt() == 0));
System.out.print("Progam ends ");
}
}
}
我想写一个接受用户输入的程序,只要输入不为 0,它就会一直请求输入。
我是怎么做到的: 我决定检查第一个输入是否为 0,如果为 0 则程序将立即退出。如果第一个输入不是 0 那么它会要求用户输入更多数字。
我的问题: 只问了我2次就执行程序结束语句
我的代码
import java.util.Scanner;
public class MyArList {
private static final int num2 = 0;
public static void main (String[] args){
Scanner userInput = new Scanner(System.in);
System.out.print("Enter 1st number: ");
int num1 = userInput.nextInt();
if (num1==0){
System.out.println("program exits");
}
else
{System.out.print("Enter more numbers: ");
while(!(userInput.nextInt()==0))
System.out.print("Progam ends ");
}
}
}
我也想过/尝试过,但也没用
if( num1==0){
System.out.println("Program exits");
}
else{
do{
System.out.print("Enter more numbers: ");
int num2 = userInput2.nextInt();
}while(!(num2==0));
感谢您的宝贵时间和意见。
您的程序运行良好。它会让你一直输入数字,直到你输入 0
。只是您会一直看到 "Program ends",直到您键入 0
。你的输出语句让你自己感到困惑。
在你的 while
循环中,打印 "Keep entering more numbers"
而不是 "Program ends "
。在 while
循环完成后打印 "Program ends"
。
我采用了您的第一种方法,只是更改了 while 循环,所以您最好说一下,您做错了什么。 看看:
import java.util.Scanner;
public class MyArList {
private static final int num2 = 0;
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.print("Enter 1st number: ");
int num1 = userInput.nextInt();
if (num1 == 0) {
System.out.println("program exits");
} else {
do
System.out.print("Enter more numbers: ");
while (!(userInput.nextInt() == 0));
System.out.print("Progam ends ");
}
}
}