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?
import java.util.Scanner;
public class AvaliaçãoContinuada2 {
public static void main(String[] args) {
Scanner sele = new Scanner (System.in);
boolean escolhido = true;
int opç;
do
{
//SELEÇÃO DOS MÓDULOS
System.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
}
}
O erro diz que seu código não é compilável, creio que por causa dessa variável
int opç; //errado
Evite usar caracteres especiais e de acentuação como ç, ã. é. etc…
int opc; //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…
1 curtida
Bom o @LostSoldier respondeu certinho, em vez de if seria melhor utilizar o switch
ex:
public static void main(String[] args) {
Scanner sele = new Scanner(System.in);
boolean escolhido = true;
int opc;
do {
//SELEÇÃO DOS MÓDULOS
System.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){
case 1:
System.out.println("FINANCEIRO");
break;
case 2:
System.out.println("CONTAS");
break;
}
} while (opc != 6);
}
mas ao observar seu código [quote=“Dirley_Santana, post:1, topic:347180”]
if (opç == 1)
{
System.out.println(“FINANCEIRO”);
break;
}
[/quote]
você está parando o loop quando se selecionar uma opção, se esse é o caso, o certo seria utilizar somente o switch e mais nada ex:
public static void main(String[] args) {
Scanner sele = new Scanner(System.in);
boolean escolhido = true;
int opc;
//SELEÇÃO DOS MÓDULOS
System.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) {
case 1:
System.out.println("FINANCEIRO");
break;
case 2:
System.out.println("CONTAS");
break;
}
}
1 curtida
Então, é pq o objetivo é após escolher o modulo, dentro do modulo ter algumas instruções como calculos e etc.
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
1 curtida
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…
public static final int FINANCEIRO = 1;
public static final int CONTAS = 2;
public static final int RH = 3;
...
public static void main(String[] args) {
...
switch(opc) {
case FINANCEIRO:
...
case CONTAS:
...
case RH:
...
}
}
1 curtida
Deu certo da forma que você falou, obrigado mesmo pela ajuda.