而循环查找空格字符 - Java



所以这里的新Java开发人员,已经工作了一个星期,并决定弄脏我的手。

我一直在尝试创建一个应用程序,用户可以在其中注册一个帐户。我在用户必须输入全名的部分,程序必须确保名称之间有一个空格,否则它应该告诉用户重新输入带有空格的名称。

目前,我尝试设置一个 while 循环,并在 indexOf 条件为 <=0 时使其重复,这意味着没有空间。但是,我不确定一旦用户成功输入带有空格的名称,我将如何使其继续前进。

我当前的代码如下:

public static void companyEmail() {
System.out.println("+--------------------------------+");
System.out.println("|   Company Email Registration   |");
System.out.println("+--------------------------------+");
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter your full name: ");
String input = scanner.nextLine();
while (input.indexOf(' ') <=0) {
System.out.println("Please retype your full name with a space: ");
String secondInput = scanner.nextLine();
if(secondInput.indexOf(' ') <=0) {
break;
}
System.out.println("Program has worked");

}
}

所有的帮助都表示赞赏。

谢谢。

你需要调用input.indexOf(' ') < 0,因为第一个字符索引是0

而且当secondInput包含空格时,您没有中断循环。

您只需使用一个字符串即可实现此目的:

while (input.indexOf(' ') < 0) {
System.out.println("Please retype your full name with a space: ");
input = scanner.nextLine();
}
System.out.println("Program has worked");

最新更新