我正在尝试验证只有三个单词的输入,因此如果用户输入的内容越来越少,程序会再次提示相同的问题。
我是如何进行单词输入的?我正在使用BufferedReader并按每个空格(“”)拆分我的字符串...所以每个空格都意味着一个新单词。
但是如何控制要输入的单词数量呢?
我编码了这个:
InputStreamReader st = new InputStreamReader(System.in);
BufferedReader bf = new BufferedReader(st);
System.out.println("Enter 3 words");
String words = bf.readLine();
String split[] = words.split(" ");
do
{
System.out.println("Enter only 3 words");
words = bf.readLine();
String split[] = words.split(" ");
}while(split.length > 3);
答案 0 :(得分:1)
只需使用!=
比较器而不是>
:
while(split.length != 3)
此外,您在do-while循环中覆盖了split[]
数组。不要创建新数组,使用您之前创建的相同变量。如果第一次输入正确的单词数,这也可以防止出现多个提示。
InputStreamReader st = new InputStreamReader(System.in);
BufferedReader bf = new BufferedReader(st);
String words;
String[] split;
do
{
System.out.println("Enter 3 words");
words = bf.readLine();
split = words.split(" ");
}while(split.length != 3);
答案 1 :(得分:1)
使用split.length()
,您拥有数组中的单词数,因此,您可以创建一个条件。像这样:
do{
//do stuff
}while(split.length != 3);