为了账号安全,请及时绑定邮箱和手机立即绑定

这个代码问题在哪里 我找了很久都找不出??求大神解答

public class HelloWorld {
    public static void main(String[] args) {
  char today='日';
  switch(today)
        {
      case '一':
         case '三':
         case '五':
             System.out.println("吃包子");
         case '二':
         case '四':
         case '六':
            System.out.println("吃油条");
        case '日':
            System.out.println("吃主席套餐");
  }
    }
}

正在回答

11 回答

      case '二'://“:”为中文字符,用编译器看看就出来了http://img1.sycdn.imooc.com//556a5a6d0001b93d03540102.jpg

0 回复 有任何疑惑可以回复我~

 如果不break会执行满足这个case之后的其他case的语句直达switch结束或者遇到break你的today是设置死的。这个代码 只能输出case '日':

            System.out.println("吃主席套餐");

你会报错是因为:的原因

0 回复 有任何疑惑可以回复我~
  1. 没有break,无法跳出循环

  2. 周一至周四,可以输出吃饭之类

0 回复 有任何疑惑可以回复我~

这个程序你还可以改一下,输入的不是星期几,那就不吃饭了

0 回复 有任何疑惑可以回复我~

没有break,不能跳出循环,另外写代码要规范一点,不能写成辣样子

0 回复 有任何疑惑可以回复我~

没有break怎么跳出循环

0 回复 有任何疑惑可以回复我~

当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;

一般来说都要写break的为了防止发生上述的情况而出问题你可以把char today='日';改为char today='一';试试就会发现有问题了

3 回复 有任何疑惑可以回复我~

知道了  谢谢大神

0 回复 有任何疑惑可以回复我~

不过你的问题不是出在break而是有个case '二':冒号写错了用英文的冒号

2 回复 有任何疑惑可以回复我~
#1

MarlboroKay

眼神犀利
2015-05-28 回复 有任何疑惑可以回复我~

break 不是可以不用写的么??

0 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消

这个代码问题在哪里 我找了很久都找不出??求大神解答

我要回答 关注问题
微信客服

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

帮助反馈 APP下载

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

公众号

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