具有多个输入的Java Switch Case

时间:2017-01-29 20:14:38

标签: java switch-statement case

我正在尝试 tamagotchi ,我希望该对象可以从同一个扫描程序接收多个命令。因此,当我键入" sleep"之后,我可以在控制台中写下它应该做的下一件事情" eat"。

以下是代码:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    Tamagotchi blue = new Tamagotchi("Lenns", 8, 4, 6, 7);

    Scanner scanner = new Scanner(System.in);
    String Input = scanner.nextLine();

    switch (Input) {
    case "Eat":
        blue.eat();
        break;

    case "Sleep":
        blue.sleep();
        break;

    case "Sport":
        blue.sport();
        break;

    case "Condition":
        blue.output();
        break;

    default: System.out.println("no valid option");
        break;
    }

我希望你理解我的问题并且可以帮助我 非常感谢你宝贵的时间。

2 个答案:

答案 0 :(得分:1)

对于重复一段代码,你需要一个循环,在你的情况下,包装读取用户输入和switch-case以便可以重复操作

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"></script>

答案 1 :(得分:0)

对上面的答案进行了一些小调整

String Input = null;
while(true){
    try{
         Input = scanner.nextLine();
         switch (Input) {
            case "Eat":
                blue.eat();
                break;
            case "Sleep":
                blue.sleep();
                break;
            case "Sport":
                blue.sport();
                break;
            case "Condition":
                blue.output();
                break;
            default: 
               throw new IllegalArgumentException("Invalid operation");
        }
    }catch(IllegalArgumentException e){
        System.out.println(e.getMessage());
    }     
}

如果您使用此变体,则需要添加“退出”情况或类似情况才能打破循环。