我正在尝试 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;
}
我希望你理解我的问题并且可以帮助我 非常感谢你宝贵的时间。
答案 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());
}
}
如果您使用此变体,则需要添加“退出”情况或类似情况才能打破循环。