gpt4 book ai didi

java - 在 while 循环内重复错误消息

转载 作者:行者123 更新时间:2023-11-30 03:24:02 25 4
gpt4 key购买 nike

我目前正在学习 Udemy Java 类(class),并练习迄今为止所学到的知识。

我有以下简单的程序,我计划用它来让用户输入他的名字。

import java.util.Scanner;



public class Adventure {
public static final int menuStars = 65;
private static Scanner input = new Scanner(System.in);

public static void main(String[] args) {
String firstName = "";
String lastName = "";
boolean validName = false;
while(!validName){
//Entering first name
System.out.println("Please enter your first name.");
try {
firstName = input.nextLine();
if(firstName.length() == 0){
throw new Exception("Please enter a first name of at least 1 character.");
}else{
//Entering last name
System.out.println("Please enter your last name.");
lastName = input.nextLine();
if(lastName.length() == 0){
throw new Exception("Please enter a last name of at least 1 character");
}else{
System.out.println("You have entered " + firstName +" " + lastName);
}

}
} catch (Exception e) {
System.out.println(e.getMessage());
continue;
}
//Used to terminate loop when both first & last names are valid
validName = true;
}


}
}

我想让程序在用户输入空白名称时重复错误消息,而不是从头开始重新启动整个程序。

例如,当用户输入空白的名字时,我希望程序继续重复“请输入至少 1 个字符的名字”,当用户输入空白的姓氏时,它继续重复“请输入至少 1 个字符的姓氏”,直到用户输入有效的名称。

但是,目前当用户输入空白的名字或姓氏时,我的程序将从头开始重复,而不是仅重复错误消息。

我该如何让程序重复错误消息?

最佳答案

使用一个 boolean 变量,在“请输入您的名字”时存储 true。被打印。每次打印此字符串之前检查此变量是否为 false。另外,在循环之前将其初始化为 false。同样的想法也适用于姓氏。

if(!printed)
{
System.out.println("Please enter your first name.");
printed=true;
}

关于java - 在 while 循环内重复错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30696010/

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