我想编写一个用户输入的程序,只要输入不是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 :(得分:7)
您的计划运作良好。在您输入0
之前,它会让您输入数字。只是在您键入0
之前,您将继续看到“程序结束”。你的输出声明让自己感到困惑。
在while
圈内,打印"Keep entering more numbers"
而不是"Program ends "
。 "Program ends"
循环完成后打印while
。
答案 1 :(得分:-1)
我采取了你的第一种方法,只是改变了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 ");
}
}
}