如果代码运行正确,则会产生混淆

时间:2014-08-08 18:02:59

标签: java enums default core

为什么默认和枚举都打印出来。得到默认值和其他未指定的值也...大家好,我有汽车枚举,当我运行这个代码我得到本田和没有车,可以sombody告诉?

public enum Cars {Audi,honda,ferrari};  public static void main(String [] args){

 Cars myCars = Cars.ferrari;
  switch (myCars ) {
  case Audi:
   System.out.print("audi");

  default:    
    System.out.print("no car");

  case honda:
    System.out.print("honda");
  }

4 个答案:

答案 0 :(得分:1)

您需要在每个案例中加入break语句。你的默认情况也应该在最后。

答案 1 :(得分:0)

因为你没有突破你的开关。所以它命中默认值然后落到本田。

答案 2 :(得分:0)

您需要在每个案例后添加一个break语句

答案 3 :(得分:0)

Dude ..切换案例继续落到下一个案例,除非你使用像瀑布式方法这样的中断语句。另外,它是一个很好的编程实践,可以保持你的默认语句在最后

Cars myCars = Cars.ferrari;
  switch (myCars ) {
  case Audi:
  System.out.print("audi");
  break;

  case honda:
  System.out.print("honda");
  break;

  default:
  System.out.print("no car");     
  }