我要做的是验证一个扫描仪,这样如果输入字符串没有至少两个元音就会返回一个错误,但是我不知道怎么回事这个看起来不行在其他地方找到答案。
Scanner sc = new Scanner(System.in);
System.out.print("Input alphabetical character string: ");
while (!sc.hasNext("[aeiouAEIOU]+")) {
System.out.println("Error, sequence requires a minimum of two vowels");
sc.next();
}
答案 0 :(得分:0)
这是使用Scanner
使问题更难的问题。
简单的解决方案是使用BufferedReader
一次只读取一个字符,然后计算元音字符。
你可以通过配置Scanner
来返回"令牌"由单个字符组成,然后计算与元音匹配的标记。但那没有意义...... IMO。
答案 1 :(得分:0)
每次输入一个像这样的值时你都可以使用验证方法。这个只检查每个元音一次。
mean
你也可以拆分字符串并计算每个字母然后加起来元音 你可以通过做这样的事情轻松地做到这一点。
arr [(int)'e' - (int)'a'] ++将增加arr [4]计算1 e
您还可以使用bufferedReader来计算元音