好的,所以我的程序应该提示用户输入一个字母并告诉他们这封信是辅音还是元音,如果他们输入的不是单个字母,则向他们显示他们输入了无效的回复。我可以同时使用if-else case和switch语句,因为这是我在这里尝试做的事情,因为它看起来最简单。
import java.util.Scanner;
public class VowelConsonant
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a letter: ");
char c1 = input.nextLine().charAt(0);
if ((c1>= 'a' && c1<= 'z') || (c1>= 'A' && c1<= 'Z')){
switch(c1){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
System.out.println("Letter is a vowel"); break;
default:
System.out.println("Letter is a consonant");
}
}
}
} }
我不知道如何添加else语句,指定它是否不是输入无效的字母。
答案 0 :(得分:0)
List<char> vowels = new ArrayList<char>(Arrays.asList("a", "e", "i", "o", "u");
List<char> consonants = new ArrayList<char>(Arrays.asList("b", "c" ... etc);
char checkChar = Character.toUpperCase(c1);
if (vowels.contains(checkChar)) {
// it's a vowel
} else if (consonants.contains(checkChar)) {
// it's a consonant
} else {
// it's neither
}
您可能希望将列表设置为静态和最终,并将它们转移到尽可能全局的位置,因为字母表不太可能发生变化。