Switch Case菜单未被执行

时间:2015-11-14 18:07:05

标签: java

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

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");

我需要为用户创建一个Switch-Case,以便能够选择一个选项:

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版。 请注意,我是社区和编程的新手。欢迎任何形式的帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你需要这样的东西:

  • 循环代码;
  • 带退出选项;
  • 可选择处理无效输入。



import java.util.Scanner;

public class Teste {

public static void main(String args[]) {

MeuProjecto meuProjecto = new MeuProjecto();
Scanner scanner = new Scanner(System.in);
boolean sair = false;
while (!sair) {

    String menu = scanner.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;
        default:
            System.out.println("Opção inválida!");
        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;
        case "S":
            sair = true;
    }

}

}

}