Preciso fazer menus selecionáveis, onde o usuário vai digitar um número e o programa leva ele até o módulo desejado, a principio tenho esse código com apenas a opção “1- Financeiro”, mas está me voltando erro, onde está o erro? como posso levar o usuário até as outras opções?
importjava.util.Scanner;publicclassAvaliaçãoContinuada2{publicstaticvoidmain(String[]args){Scannersele=newScanner(System.in);booleanescolhido=true;intopç;do{//SELEÇÃO DOS MÓDULOSSystem.out.println("ESCOLHA O SETOR DESEJADO:");System.out.println("1- Financeiro");System.out.println("2- Contas");System.out.println("3-RH");System.out.println("4- DO");System.out.println("5- TI");System.out.println("6- Sair ");opç=sele.nextInt();if(opç==1){System.out.println("FINANCEIRO");break;}}while(//FIM DO// TODO code application logic here}}
Exception in thread “main” java.lang.RuntimeException: Uncompilable source code - Erroneous tree type:
at avaliaçãocontinuada2.AvaliaçãoContinuada2.main(AvaliaçãoContinuada2.java:16)
L
LostSoldier1 like
O erro diz que seu código não é compilável, creio que por causa dessa variável
intopç;//errado
Evite usar caracteres especiais e de acentuação como ç, ã. é. etc…
intopc;//correto
Outra coisa é a condição que falta dentro do while lá embaixo…
}while(opc!=6); //continua enquanto diferente de sair...
Se você está com essas dificuldades, sugiro começar estudar java por essa apostila…
J
Jeanderson_Silva1 like
Bom o @LostSoldier respondeu certinho, em vez de if seria melhor utilizar o switch
ex:
publicstaticvoidmain(String[]args){Scannersele=newScanner(System.in);booleanescolhido=true;intopc;do{//SELEÇÃO DOS MÓDULOSSystem.out.println("ESCOLHA O SETOR DESEJADO:");System.out.println("1- Financeiro");System.out.println("2- Contas");System.out.println("3-RH");System.out.println("4- DO");System.out.println("5- TI");System.out.println("6- Sair ");opc=sele.nextInt();switch(opc){case1:System.out.println("FINANCEIRO");break;case2:System.out.println("CONTAS");break;}}while(opc!=6);}
publicstaticvoidmain(String[]args){Scannersele=newScanner(System.in);booleanescolhido=true;intopc;//SELEÇÃO DOS MÓDULOSSystem.out.println("ESCOLHA O SETOR DESEJADO:");System.out.println("1- Financeiro");System.out.println("2- Contas");System.out.println("3-RH");System.out.println("4- DO");System.out.println("5- TI");System.out.println("6- Sair ");opc=sele.nextInt();switch(opc){case1:System.out.println("FINANCEIRO");break;case2:System.out.println("CONTAS");break;}}
D
Dirley_Santana
Então, é pq o objetivo é após escolher o modulo, dentro do modulo ter algumas instruções como calculos e etc.
J
Jeanderson_Silva1 like
Então neste caso, vc utiliza a dica q eu dei, que é utilizando os switch é lá dentro do bloco do case vc entrar dentro de outro modulo e tudo mais
L
LostSoldier1 like
Outra dica é trocar esses números fixos por constantes ou enum evitando números mágicos, hoje você sabe cada código desse menu, mas e daqui a 5 anos?
Usando a dica do @Jeanderson_Silva do switch, combine-o com constantes por exemplo…