这里的报错是因为什么呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
萌新多多关照 2018-02-09 17:15:22

个人感觉:程序第8行你定义的是String类型,也就是字符串,必须得用双引号。但是Switch里的case用的单引号,也就是字符,属于基本类型。所以判断的时候由于类型不同会报出错误。

1
2
3
4
5
6
7
8
9
10
11
Scanner s = new Scanner(System.in);
        String ch = s.next().toLowerCase();
        //使用switch结构判断是否为元音字母,并输出对应的信息
        switch(ch){
            case "a"break;
            case "e"break;
            case "i"break;
            case "o"break;
            case u": break;
            default: System.out.print("no");
        }

我是这么写的,能运行。

慕丝3243066 2018-02-03 22:48:58

case后面漏了一个空格

  • 提问者 lemoncreas #1
    亲,加了空格还是报错呀。报错no suggestions available
    2018-02-04 10:43:00
  • 慕丝3243066 回复 提问者 lemoncreas #2
    public class CharDemo { public static void main(String[] args) { //定义一个字符变量并初始化 char ch='a'; //使用switch结构判断是否为元音字母,并输出对应的信息 switch(ch){ case 'a':System.out.println("元音字母"+ch);break; case 'e':System.out.println("元音字母"+ch);break; case 'i':System.out.println("元音字母"+ch);break; case 'o':System.out.println("元音字母"+ch);break; case 'u':System.out.println("元音字母"+ch);break; default:System.out.println("不是元音字母"); } } }
    2018-02-04 10:47:06
walkingway 2018-02-03 22:09:57

第十行你加了个分号干嘛?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码