好的,问题是编写一个程序来识别辅音中的元音。我需要使用Scanner和hasNext()
输出应该如下所示
输入一封信:a
a是元音
输入一封信:b
b是辅音
输入一封信:1
1是无效输入
它将继续读取,直到它到达文件末尾
教授暗示使用hasNext
,因为没有输入时它将返回false
所以这就是我到目前为止所拥有的
Scanner input = new Scanner(System.in);
System.out.print("Enter a letter: ");
char letter = input.next().charAt(0);
if (letter=='a'||letter=='A'||letter=='e'||letter=='E'||letter=='i'||letter=='I'||letter=='o'||letter=='O'||letter=='u'||letter=='U'){
System.out.println(letter + " is a vowel");
}
else if(Character.isLetter(letter)){
System.out.println(letter + " is a consonant");
}
else {
System.out.println(letter + " is an invalid input");
}
我需要的是在输入任何输入之后循环它,它会再次要求它输入一个字母。并继续循环它,直到它到达文件的末尾,使用has Next
答案 0 :(得分:1)
我认为你没有听到或理解这个提示。您应该使用hasNext()
,这将确定是否有任何输入(任何类型)。确定角色是元音,辅音还是无效的逻辑是好的。您需要一个使用hasNext()
的while循环来确定何时到达文件结尾。
答案 1 :(得分:0)
试试这个。
Scanner input = new Scanner(System.in);
char letter;
System.out.print("Enter a letter: ");
while(input.hasNext())
{
letter = input.next().charAt(0);
if (letter=='a'||letter=='A'||letter=='e'||letter=='E'||letter=='i'||letter=='I'||letter=='o'||letter=='O'||letter=='u'||letter=='U')
{
System.out.println(letter + " is a vowel");
}
else if(Character.isLetter(letter)){
System.out.println(letter + " is a consonant");
}
else {
System.out.println(letter + " is an invalid input");
}
System.out.print("Enter a letter: ");
}
答案 2 :(得分:0)
所以你需要做一些事情。
读取文件。因此,您可以使用Scanner对象代替Scanner input = new Scanner(System.in);
来读取文件,如下所示:
Scanner input = new Scanner(new File("path\\to\\vowels.txt"));
循环遍历该文件以测试每个输入。因此,请使用while
循环。
hasNext
就会返回true
,因此条件为while (input.hasNext())
。这就是你在剩下输入时使用hasNext()
方法继续读取文件的方法。不要忘记,在阅读文件时,您必须将其包围在try-catch块中,以防万一找不到文件或其他内容。您的代码可能如下所示:
try {
Scanner input = new Scanner(new File("C:\\Users\\Mike\\Desktop\\vowels.txt"));
while (input.hasNext()) {
char letter = input.next().charAt(0);
if (letter=='a'||letter=='A'||letter=='e'||letter=='E'||letter=='i'||letter=='I'||letter=='o'||letter=='O'||letter=='u'||letter=='U'){
System.out.println(letter + " is a vowel");
}
else if(Character.isLetter(letter)){
System.out.println(letter + " is a consonant");
}
else {
System.out.println(letter + " is an invalid input");
}
}
} catch (Exception e) {
e.printStackTrace();
}