gpt4 book ai didi

java - 如何在不中断和退出整个循环的情况下跳过提示并继续下一个提示? java

转载 作者:行者123 更新时间:2023-11-30 08:01:36 24 4
gpt4 key购买 nike

所以我正在开发一个程序,允许用户将学生添加到类(class)以及管理他们的成绩等等。当用户选择菜单中的第一个选项时,他必须输入一个 id(强制),但他也可以添加一个数字分数和/或一个字母等级。根据另一篇文章中的反馈,我设法创建了一个 String 变量行来读取用户输入,然后检查它是否为“S”/“s”(是否跳过)并相应地将值解析为 double。现在基于这个问题,如果用户决定跳过添加分数,我如何跳过提示并继续到下一个提示?我尝试使用 break;但它退出了整个循环。有没有办法跳过分数问题并继续进行字母等级问题?

输出:

1) 添加学生到类(class)
2) 从类(class)中移除学生3) 为学生设置成绩
4) 为学生编辑成绩
5) 展示类报告
6) 退出

1

请输入id:请输入Score: (Enter s to Skip)

请输入等级:(输入s跳过)

代码

// Prompting the user for Score (Numerical Grade)

System.out.println("Kindly input Score: (Enter s to Skip)");
// reading the input into the line variable of string datatype
String line = input.nextLine();
// checking if line =="s" or =="S" to skip, otherwise
// the value is parsed into a double
if("s".equals(line) || "S".equals(line))
{
break; // this exists the loop. How can I just skip this requirement
//and go to the next prompt?
}else try
{
score = Double.parseDouble(line);
System.out.println(score);
} catch( NumberFormatException nfe)
{

}
// Prompting the user for Numerical Grade
System.out.println("Kindly input Grade: (Enter s to Skip)");
String line2 = input.nextLine();
if("s".equals(line2) || "S".equals(line2))
{
break; // this exists the loop. How can I just skip this
// requirement and go to the next prompt?
}else try
{
score = Double.parseDouble(line2);
System.out.println(score);
} catch( NumberFormatException nfe)
{

}

最佳答案

只需删除 break:

if("s".equals(line) || "S".equals(line))
{
// Don't need anything here.
}else {
try
{
score = Double.parseDouble(line);
System.out.println(score);
} catch( NumberFormatException nfe)
{
}
}

但是最好不要有一个空的true case(或者说,它是不必要的):

if (!"s".equals(line) && !"S".equals(line)) {
try {
// ...
} catch (NumberFormatException nfe) {}
}

您还可以使用 String.equalsIgnoreCase 来避免需要测试 "s""S"

关于java - 如何在不中断和退出整个循环的情况下跳过提示并继续下一个提示? java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com