switch-case语句有什么问题?

时间:2014-08-11 14:36:47

标签: java android

我不知道为什么eclipse用红色波浪标记switch-case语句,并且说Syntax error on token "{", SwitchLabels expected after this token我尝试了以下两个代码并且我收到同样的抱怨。

Code_1

switch (Test.h1.size()) {
    int size = Test.h1.size();

    case 1:
        break;

    case 2:
        break;
    }

CODE_2

switch (Test.h1.size()) {
    int size = Test.h1.size();

    case size == 1:
        break;

    case size == 2:
    for (int i=1; i<=Test.h1.size()-1; i++) {
        for (int j=i+1; j<=Test.h1.size(); j++) {
            System.out.println( Test.h1.get(i)+"+"+Test.h1.get(j)+"= "+((Test.h1.get(i))+(Test.h1.get(j))) );
        }
    }
        break;
    }

2 个答案:

答案 0 :(得分:3)

您的所有代码都需要包含在案例中。你读过文档了吗? http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

试试这个:

int size = Test.h1.size();

switch (size) {
    case 1:
        break;

    case 2:
        ....;

}

答案 1 :(得分:2)

要解决代码1中的问题,您只需删除第int size = Test.h1.size();行。

对于代码2,您应该知道,在Java中,您不能在切换情况下使用布尔表达式。