public class Test {
    public static void main(String[] args) {
        doOp(OpConstants.TURN_RIGHT);
    }
 
    public static void doOp(OpConstants opConstant) {
        switch(opConstant) { 
            case TURN_LEFT: 
                System.out.println("向左转"); 
                break; 
            case TURN_RIGHT: 
                System.out.println("向右转"); 
                break; 
            case SHOOT: 
                System.out.println("射击"); 
                break; 
        } 
    }
}
运行出现以下错误:代码出自:http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/EnumeratedTypes.htm,向各位请教,该怎样修改才能编译成功。

解决方案 »

  1.   

    OpConstants
    这个类是什么?没有import
      

  2.   

    enum OpConstants {    TURN_LEFT, TURN_RIGHT, SHOOT
    }public class Test {    public static void main(String[] args) {
            doOp(OpConstants.TURN_RIGHT);
        }    public static void doOp(OpConstants opConstant) {
            switch (opConstant) {
                case TURN_LEFT:
                    System.out.println("向左转");
                    break;
                case TURN_RIGHT:
                    System.out.println("向右转");
                    break;
                case SHOOT:
                    System.out.println("射击");
                    break;
            }
        }
    }
    你是不是没有建立并编译OpConstants.java 文件?
      

  3.   

    是!忘了建立!public enum OpConstants {TURN_LEFT, TURN_RIGHT, SHOOT}看出问题错在那了。
      

  4.   

    你给的地址上不是有答案吗?
    public class Test {    private enum OpConstant {TURN_LEFT, TURN_RIGHT, SHOOT};     public static void doOp(OpConstant opConstant) {        switch(opConstant) {             case TURN_LEFT:                 System.out.println("向左轉");                 break;             case TURN_RIGHT:                 System.out.println("向右轉");                 break;             case SHOOT:                 System.out.println("射擊");                 break;         }     }     public static void main(String[] args) {        doOp(OpConstant.TURN_LEFT);    }}
      

  5.   

    谢谢各位!明白了,是忘了添加OpConstants.java。