Java如何在switch语句中使用全局变量

时间:2014-03-01 23:03:42

标签: java switch-statement

我有三个整数全局变量:

   public static int a = 1;
   public static int b = 2;
   public static int c = 3;

我想这样做:

int code = dis.readInt();
switch(code)
{
    case a: 
    ......
    break;
    case b:
    ......
    break;
    case c:
    ......
    break;
}

但它不起作用,任何人都可以帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:0)

Java switch语句可以接受“Constant Expressions”和“Enum Constant Names”,如14.11 of the Java Language Specification部分所述。

如果您可以提供更多上下文,则可以提供更好的问题解决方案;否则,这就像你在Java中那样接近:

public class Constant
{
    public static final int a=1;
    public static final int b=2;
    public static final int c=3;

    public static void main(String[] args)
    {
        if(0 == args.length)
        {
            System.exit(-1);
        }
        String string=args[0];
        int value=Integer.parseInt(string);

        switch(value)
        {
            case a:
                System.out.println("It's an 'a'");
                break;
            case b:
                System.out.println("It's an 'b'");
                break;
            case c:
                System.out.println("It's an 'c'");
                break;
            default:
                System.out.println(String.format("It's a mystery '%s'",value));
                break;
        }
    }
}

答案 1 :(得分:0)

由于您只有1个字符,我不建议使用String,而是使用char。

char string=args[0];

然后按照Jan neilsen给出的答案。