Java中的孤立案例错误

时间:2015-09-15 13:37:29

标签: java

我是编码世界的初学者。我最近在遇到一个speedbump时一直在学习Java。

首先是代码:

import  java.util.*;
public class Stuff {

    public static void main(String []args); {


        Scanner identity = new Scanner(System.in);

        String id;

        System.out.println("Please Enter Your Name :");
        id = identity.next();

        Switch (id); {

            case "name1":
            //some code here....
            break; 

            case "name2":
            //some code here....
            break;

            case "name3":
             //some code here....
            break;

            case "name4":
            //some code here....
            break;

            default :
            //some code here....
            break;
        }


    }

}

错误

 Error: Orphaned case
         case: "name1";

我似乎无法找到为什么会发生这种情况并且谷歌无济于事。

编辑:有些人说我用半冒号结束了Switch。但是当我添加它时,我得到一个新错误以及前一个错误:

Error: ';' expected
        Switch (id) {
              ^ 

5 个答案:

答案 0 :(得分:3)

你遇到了多个问题。

问题1:

 Switch (id); {

 ----------^

仔细查看您的;会立即结束switch

显然你所有的case陈述都成了孤儿:)

问题2:

您的Switch应为switch(小写 s

问题3:

另外一个;导致您在

行编译时错误
public static void main(String []args); {


                                 -----^

注意:我强烈建议您使用IDE,以节省大量时间。它会立即告诉您编译器错误。

答案 1 :(得分:2)

您的switch语句的语法错误。

switch (id) {
    case "name1":
        //some code here....
        break; 

    case "name2":
        //some code here....
        break;

    case "name3":
        //some code here....
        break;

    case "name4":
        //some code here....
        break;

    default :
        //some code here....
        break;
}

答案 2 :(得分:2)

您尝试的内容需要最新版本的Java,因为Stringswitch一起使用。

你必须

switch (id)

请删除;

答案 3 :(得分:1)

Switch (id);语句后的分号有效地终止了switch案例,之后定义的案例是孤立的(即没有任何switch案例)

答案 4 :(得分:1)

您正在尽早完成切换声明:

Switch (id); {

真正的语法是:

switch (id) {
  // your cases
}