Java 开关盒菜单为';他没有被处决

Java 开关盒菜单为';他没有被处决,java,Java,我有一段代码,用于打印整个菜单,然后提供给用户从给定的选项中进行选择。打印菜单后(如下所示): 我需要制作一个开关盒,以便用户能够选择一个选项: String menu = scan.nextLine(); System.out.println(menu); switch(menu){ case "VCP": System.out.println("VCP P"); break; case "PNM": System.out.p

我有一段代码,用于打印整个菜单,然后提供给用户从给定的选项中进行选择。打印菜单后(如下所示):

我需要制作一个开关盒,以便用户能够选择一个选项:

String menu = scan.nextLine();
System.out.println(menu);
  switch(menu){
    case "VCP":
        System.out.println("VCP P");
        break;
    case "PNM":
        System.out.println("PNM");
        break;
    case "PME":
        meuProjecto.PME();
        break;
    case "CMA":
        meuProjecto.CMA();
        break;
    case "ECP":
        meuProjecto.ECP();
    case "MCA":
        meuProjecto.MCA();
        break;
    case "A":
        System.out.println("VCP ­ Ver a conversa em progresso");
        System.out.println("PNM ­ Publicar nova mensagem ");
        System.out.println("PME - Publicar mensagem encriptada");
        System.out.println("CMA - Corrigir mensagem anterior");
        System.out.println("ECP - Encerrar conversa em progresso");
        System.out.println("MCA - Mostrar conversas anteriores");
        System.out.println("A - Ajuda");
        System.out.println("S - Sair");
        break;
    }
现在,问题是:最初的菜单被打印出来,但是程序结束了。我没有收到任何错误消息,也没有收到任何警告。我使用的是1.8版。 请注意,我对社区和编程都是新手。欢迎任何形式的帮助


提前谢谢。

我想你需要这样的东西:

System.out.println("VCP ­ Ver a conversa em progresso");
System.out.println("PNM ­ Publicar nova mensagem ");
System.out.println("PME - Publicar mensagem encriptada");
System.out.println("CMA - Corrigir mensagem anterior");
System.out.println("ECP - Encerrar conversa em progresso");
System.out.println("MCA - Mostrar conversas anteriores");
System.out.println("A - Ajuda");
System.out.println("S - Sair");
  • 循环码
  • 有退出选择
  • 具有处理无效输入的选项
import java.util.Scanner;
公共类测试{
公共静态void main(字符串参数[]){
MeuProjecto MeuProjecto=新的MeuProjecto();
扫描仪=新的扫描仪(System.in);
布尔sair=false;
而(!sair){
字符串菜单=scanner.nextLine();
系统输出打印项次(菜单);
开关(菜单){
案例“VCP”:
System.out.println(“VCP”);
打破
案例“PNM”:
系统输出打印项次(“PNM”);
打破
案例“PME”:
meuproject.PME();
打破
案例“CMA”:
meuproject.CMA();
打破
案例“ECP”:
meuproject.ECP();
案例“MCA”:
meuproject.MCA();
打破
违约:
System.out.println(“Opço inválida!”);
案例“A”:
System.out.println(“VCP-Ver a conversa em progresso”);
System.out.println(“PNM-Publicar nova mensagem”);
System.out.println(“PME-公共管理encriptada”);
System.out.println(“CMA-Corrigir mensagem前”);
System.out.println(“ECP-Encerrar conversa em progresso”);
System.out.println(“MCA-Mostrar conversas anteriores”);
System.out.println(“A-Ajuda”);
System.out.println(“S-Sair”);
打破
案例“S”:
sair=真;
}
}
}

}
显然,用户输入是一个未在switch-case中列出的字符串。您需要将用户的响应读入变量中。在你的情况下,这将是最简单的方法,将你发布的整个代码包装在某种循环中,并在菜单中添加一个选项来结束程序(也许你已经有了这个选项,我不理解你输出时使用的语言)。我也更喜欢这样编写菜单,但这是一个学校算法,他们要求这样……你可以写:“VCP”或“CMA”。这些选项列在开关盒中。您是否验证了输入字符串是您认为的字符串?您采取了哪些调试步骤?谢谢。它正在工作。不完全是这样说的,但这并不重要。不管怎么说,这很愚蠢。非常感谢:)