如何使用 while 循环验证输入字符串

How to validate input string using while loop

我知道这可能看起来像一个 simple/silly 问题,但我正在努力使我的代码尽可能有条理和简单。我遇到的问题是用于验证的 while 循环。我正在验证字符串输入。我使用验证只是为了确保输入了某些内容。我唯一希望 while 循环到 运行 的情况是根本没有输入任何信息,所以我想包括每个字符和符号。我的问题是,我想知道是否有更短的方法来包含每个可能的字符,当然除了简单地按回车键。这是简单的代码片段。

Scanner input = new Scanner(System.in);
PrintWriter out = new PrintWriter("contactRequest.txt");


System.out.print("Please enter your name: ");
String email = input.nextLine();
while(!email.matches("[a-zA-Z]+"));
{
    System.out.println("\nPlease enter a valid E-Mail.");
        email = input.nextLine();
}
out.println("E-Mail: " + email);

将其重组为一次性使用并且只有一个 print/scan 怎么样?

Scanner input = new Scanner(System.in);
PrintWriter out = new PrintWriter("contactRequest.txt");

String email;
String prompt = "Please enter your name: ";
do {
    System.out.print(prompt);
    email = input.nextLine();
    prompt = "\nPlease enter a valid E-Mail.\n"
} while (!email.matches("[a-zA-Z]+"));

out.println("E-Mail: " + email);