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

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

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

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

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

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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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