【发布时间】:2021-05-09 13:28:36
【问题描述】:
试图验证用户是否输入了伪代码:word1 空格 word2。这似乎应该是一个简单的逻辑,如果字符串不等于 word1 空间 word2,再问一次。我已经构建了一个带有 if/else 逻辑的版本,可以正确捕获它,它只是不再询问。所以我尝试修改以使用 do while 循环。
Scanner sc = new Scanner(System.in);
System.out.print("Enter a two word phrase with one space.");
String phrase = sc.nextLine();
phrase = phrase.trim();
int i1 = phrase.indexOf(" ");
int i2 = phrase.indexOf(" ", i1 +1);
do{
System.out.println("Enter a two word phrase with one space, Try Again!");
phrase = sc.nextLine();
}while(i2 != -1);
System.out.println("Correct");
}
这段代码的结果是它只需要输入两次,无论输入什么都以正确结束。
【问题讨论】:
-
i2 in while body 从不更新,始终保持与第三行相同。
标签: java string loops validation java.util.scanner