请问哪里错了

来源: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

  1. 貌似作者的代码有冗余出现,比如此处的代码逻辑不需要接收键盘的输入字符,所以不用声明Scanner 对象

  2. 判断字符是否为原因的最后一个default语句应该是要说明代码定义的字母不是元音字母,而不是元音字符n(代码逻辑要判断清楚)

  3. 为了加强代码的健壮性,可以先将n字符变量改写成字符串变量,switch语句判断字符串的第一个字符之前,先将字符串进行大写化(str.toUpperCase()),然后再判断元音字母与大写字母的匹配。当然也可以使用忽略字符大小写的条件判断是否字符串相等判断。

    希望上述三点建议能够对作者有帮助,祝学习愉快~~~~

0

回忆里小马甲

2017-05-19

你可以通过n=sc.next().charAt(0);来获取要录入的字符,然后default里面的提示语句应该是:n+"不是元音字母"; 另外你没有说你具体遇到什么错误了,只能帮到这儿了

0

0 学习 · 7235 问题

查看课程