请问哪里错了
来源:3-8 编程练习
Thjia油
2017-05-19 10:18:55
public class CharDemo {
public static void main(String[] args) {
//定义一个字符变量并初始化
Scanner sc=new Scanner(System.in);
System.out.println("请输入字母查看是否是元音字母:");
char n='a';
//使用switch结构判断是否为元音字母,并输出对应的信息
switch(n){
case 'a':System.out.println("元音字母"+n);break;
case 'e':System.out.println("元音字母"+n);break;
case 'i':System.out.println("元音字母"+n);break;
case 'o':System.out.println("元音字母"+n);break;
case 'u':System.out.println("元音字母"+n);break;
default:System.out.println("元音字母"+n);
}
}
}
2回答
小草1434
2017-05-20
貌似作者的代码有冗余出现,比如此处的代码逻辑不需要接收键盘的输入字符,所以不用声明Scanner 对象
判断字符是否为原因的最后一个default语句应该是要说明代码定义的字母不是元音字母,而不是元音字符n(代码逻辑要判断清楚)
为了加强代码的健壮性,可以先将n字符变量改写成字符串变量,switch语句判断字符串的第一个字符之前,先将字符串进行大写化(str.toUpperCase()),然后再判断元音字母与大写字母的匹配。当然也可以使用忽略字符大小写的条件判断是否字符串相等判断。
希望上述三点建议能够对作者有帮助,祝学习愉快~~~~
回忆里小马甲
2017-05-19
你可以通过n=sc.next().charAt(0);来获取要录入的字符,然后default里面的提示语句应该是:n+"不是元音字母"; 另外你没有说你具体遇到什么错误了,只能帮到这儿了
相似问题