提问人:Sotei 提问时间:9/22/2022 最后编辑:Sotei 更新时间:9/22/2022 访问量:377
如何使特定字符串输入成为 while 循环的条件,并在每次输入输入时进行检查
How to make a particular string input the condition for while loop and it checks everytime an input is entered
问:
如果这些条件都不满足或输出已打印,则它将返回要求用户输入新值。 如果在输入阶段的任何时候,用户输入“退出”一词,则结束程序。
让我的程序遵循这些条件是我解决问题之前唯一缺少的部分。 一开始的 while 循环,条件是只要输入字符串输入“Quit”,它就会结束,这是我一直在尝试做的事情,但一直失败。
我们的课程刚刚开始,我们甚至还没有涵盖方法或 OOP。我们的教授只教我们扫描仪 system.in 和 .next(datatype) 方法,所以我认为扫描仪类的其他方法一直在我脑海中浮现。
这是我程序的输入阶段:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Please give three numbers");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
System.out.println("Choose the temperature unit of the three numbers.");
System.out.println("Enter 1 for Celsius, 2 for Fahrenheit and 3 for Kelvin");
int tempUnit = sc.nextInt();
switch (tempUnit) {
case (1) -> System.out.println("Celsius was chosen.");
case (2) -> System.out.println("Fahrenheit was chosen.");
case (3) -> System.out.println("Kelvin was chosen.");
}
System.out.println("Choose the temperature unit you want to convert it into.");
System.out.println("Enter 1 for Celsius, 2 for Fahrenheit and 3 for Kelvin");
int chosenTemp = sc.nextInt();
switch (chosenTemp) {
case (1) -> System.out.println("Celsius was chosen.");
case (2) -> System.out.println("Fahrenheit was chosen.");
case (3) -> System.out.println("Kelvin was chosen.");
}
我试图用你们告诉我的东西想出一些东西,这就是我想出的?
if (!sc.hasNextInt()) {
String end = sc.nextLine();
if (end.equalsIgnoreCase("Quit")) {
System.exit(0);
它奏效了,但我觉得这不是你们告诉我的。 你能给我举个例子吗? 我读到这不是您设置“退出”条件的方式,谁能教我怎么做?
答:
0赞
Sawan Meshram
9/22/2022
#1
我想你想实现以下目标
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("Please give three numbers");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
System.out.println("Choose the temperature unit of the three numbers.");
System.out.println("Enter 1 for Celsius, 2 for Fahrenheit, 3 for Kelvin and 4 for Quit");
int tempUnit = sc.nextInt();
switch (tempUnit) {
case 1 :
System.out.println("Celsius was chosen.");
break;
case 2 :
System.out.println("Fahrenheit was chosen.");
break;
case 3 :
System.out.println("Kelvin was chosen.");
break;
case 4 :
System.out.println("Quit");
System.exit(0);
}
}
评论
sc.hasNextInt()
查看是否有等待读取的数字。如果没有,请将其作为用途阅读,并将其与 进行比较。String
sc.next()
"Quit"
nextInt
hasNextInt()
case 1 -> ...
If at any point during the input stage the user enters the word "Quit"
- 你没有为此做好准备,你的提示甚至没有建议这样做。提示是否由分配指定?考虑您将如何接收字符串 。Quit