如果在一个开关盒块中的一些

VIR*_*ICH 2 java case switch-statement

我有一个问题,我如何在开关盒内进行多次检查?在案例2中我需要做几个检查,但是添加第二个if块,我的应用程序什么都不做,它只是挂起.我错了什么?

BufferedReader inputCommand = new BufferedReader(new InputStreamReader(System.in));

        while (true) {
                    System.out.println("Instruction:");
                    System.out.println();
                    System.out.println("1 -- Show all product at the store");
                    System.out.println("2 -- Add the product at the client basket");
                    System.out.println("3 -- Show client basket");
                    System.out.println();
                    switch (inputCommand.readLine()) {
                        case "1":
                            basketCommand.get();
                            System.out.println();
                            break;
                        case "2":
                            System.out.println();
                            System.out.println("Select product to add into your basket");
                            if (inputCommand.readLine().equals("su")){
                                basketCommand.addIntoBasket(productContainer.productList.get("su"));
                            }
                            if (inputCommand.readLine().equals("an")){
                                basketCommand.addIntoBasket(productContainer.productList.get("an"));
                            }
                            break;
    }
Run Code Online (Sandbox Code Playgroud)

Nie*_*len 6

在第二个case语句中,您应该只读取一次下一个输入:

BufferedReader inputCommand = new BufferedReader(new InputStreamReader(System.in));

while (true) {
    System.out.println("Instruction:");
    System.out.println();
    System.out.println("1 -- Show all product at the store");
    System.out.println("2 -- Add the product at the client basket");
    System.out.println("3 -- Show client basket");
    System.out.println();
    switch (inputCommand.readLine()) {
    case "1":
        basketCommand.get();
        System.out.println();
        break;
    case "2":
        System.out.println();
        System.out.println("Select product to add into your basket");

        String next = inputCommand.readLine();
        if (next.equals("su")) {
            basketCommand.addIntoBasket(productContainer.productList.get("su"));
        }
        else if (next.equals("an")) {
            basketCommand.addIntoBasket(productContainer.productList.get("an"));
        }
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)