gpt4 book ai didi

java - 如何继续询问用户输入,直到用户选择退出?

转载 作者:行者123 更新时间:2023-12-01 10:36:12 25 4
gpt4 key购买 nike

我正在尝试制作一个“选择”菜单,其中我使用 switch/case 功能来让用户选择。我的代码中的问题是我希望它继续要求输入,直到用户输入“sair”,这在葡萄牙语中意味着“退出”。当他们输入“ajuda”(意思是“帮助”)时,他们会得到要执行的可用命令的列表,但如果用户输入“ajuda”,则执行“sout”并完成构建,程序就在那里结束......我的目标是让它运行直到我们选择停止,我认为有一种使用 readln 或类似方法的方法。

无论如何,这是与选择相关的代码块:

 public static String escolha() {

Scanner userInput = new Scanner(System.in);
String strEscolha = userInput.next();
boolean sair = false;

do {
switch (strEscolha) {
case "ajuda":
System.out.println("Comandos disponiveis:");
System.out.println("Ajuda; Fogo; Jogo; Resposta; Estado; Acaso; Reset; Sair;");
break;

case "Ajuda":
System.out.println("Comandos disponiveis:");
System.out.println("Ajuda; Fogo; Jogo; Resposta; Estado; Acaso; Reset; Sair;");
break;

case "sair":
System.out.println("Obrigado por jogar!");
sair = true;
break;

default:
System.out.println("Comando Invalido!");
continue;

}

} while (sair == false);

return null;

}

如果有人有一个简单的方法让它不断询问命令,请告诉我:(提前致谢!!PS:我刚刚开始,请不要评判,我对java的了解可以忽略不计:\

最佳答案

您的代码的主要问题是您在“ajuda”情况下没有请求用户输入。

以下是经过一些细微更改以及一些评论和建议的代码:

    // if your method isn't supposed to return anything, simply make it void
public static void escolha() {
Scanner userInput = new Scanner(System.in);
// print some useful information when the application starts, so that the user knows
// what to do
System.out.println("Comandos disponiveis:");
System.out
.println("Ajuda; Fogo; Jogo; Resposta; Estado; Acaso; Reset; Sair;");
String strEscolha = userInput.next();
boolean sair = false;

do {
// remove duplicate case by converting the input to lower letters
switch (strEscolha.toLowerCase()) {
case "ajuda":
System.out.println("Comandos disponiveis:");
System.out
.println("Ajuda; Fogo; Jogo; Resposta; Estado; Acaso; Reset; Sair;");
// read the user input
strEscolha = userInput.next();
System.out.println(strEscolha);
break;
case "sair":
System.out.println("Obrigado por jogar!");
sair = true;
break;
default:
System.out.println("Comando Invalido!");
}

} while (sair == false);
// do not forget to close the scanner, it might cause a memory leak
userInput.close();
}

关于java - 如何继续询问用户输入,直到用户选择退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34710620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com