我有三个整数全局变量:
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;
}
但它不起作用,任何人都可以帮忙吗?谢谢!
答案 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给出的答案。