有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有三个整数全局变量:

   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) 个答案

  1. # 1 楼答案

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

    char string=args[0];
    

    然后按照Jan neilsen给出的答案进行操作

  2. # 2 楼答案

    Javaswitch语句可以接受“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;
            }
        }
    }