繁体   English   中英

switch-case 语句有什么问题?

[英]What's wrong with the switch-case statement?

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

代码_1

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

    case 1:
        break;

    case 2:
        break;
    }

代码_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;
    }

您的所有代码都需要以防万一。 你读过文档吗? http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

尝试这个:

int size = Test.h1.size();

switch (size) {
    case 1:
        break;

    case 2:
        ....;

}

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

对于代码 2,您应该知道,在 Java 中您不能在 switch case 中使用布尔表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM