在 java switch 语句中使用扫描仪

Using scanner in java switch statement

我想用扫描仪让用户在我写的开关代码中使用一个数字:

public class NewClass1 {
    public static void main(String[] args) {
        Scanner abd=new Scanner(System.in);
        System.out.println("Enter a number");
        int k = 5;
        int k = i.nextInt();
        switch (k) {
            case 0:
                System.out.println("You chosed 0");
                break;
            case 1:
                System.out.println("You chosed 1");
                break;
            case 3:
                System.out.println("You chosed 3");
                break;
            case 9:
                System.out.println("You chosed 9");
                break;
            default:
                System.out.println("Please enter something is in the list, Which is: 0,1,3,9.");
                break;
        }
}

我认为我的代码中有错误或遗漏的地方,非常感谢您的帮助。

您的扫描器名为 abd,但您调用的是 i.nextInt()。就是这个问题。

编辑

int k = 5;
k = abd.nextInt();

您的代码甚至无法编译..

int k = 5;
int k=i.nextInt(); // same variable already define in the scope.

下一点是您的参考 i,但您的扫描仪已初始化为 abd。删除行 int k = 5 并且您应该将代码更改为

  int k = abd.nextInt();