Sou iniciante em programação e me deparei com um grande problema em switch (java)

4 respostas
MathHenrique

Basicamente o meu professor quer que eu resolva um problema condicional com switch case.
O problema é o seguinte:
Um aluno de uma escola qualquer realizou 4 provas. Peça ao aluno que informe as quatro notas, e imprima o resultado sabendo que:
nota: resultado:
30 reprovado
50 Bom
75 muito Bom
90 ótimo

No caso teria que imprimir o resultado do aluno com base na nota das 4 provas somadas e utilizando somente switch case.

int not1,nota2,nota3,nota4,nota5;
Scanner teclado = new Scanner(System.in);

System.out.printlln(Informe a nota da primeira prova);

nota1 = teclado.nextInt();

System.out.printlln(Informe a nota da segunda prova);

nota2 = teclado.nextInt()

System.out.printlln(Informe a nota da terceira prova);

nota3 = teclado.nextInt()

System.out.printlln(Informe a nota da quarta prova);

nota1 = teclado.nextInt()

Depois disso eu travo porque o único método qm que pensei envolvia colocar case 1: até case 30: e assim por diante, mais acredito que deve haver uma maneira mais eficiente.
(o professor autorizou o uso de outras estruturas se envolvesse o switch case).

4 Respostas

Eduardo.anjo

Cria um atributo que irá receber a soma das notas.

tipo um: int resultado = nota1+nota2+nota3+nota4

E o switch ficará assim:

switch(resultado){

case 30: imprime algor; break;

case 50: imprime algor; break;

case 75: imprime algor; break;

case 90: imprime algor; break;

}

Acho que seria isso, faz tempo que não uso Switch.

Lucas_Camara

Vc não precisa fazer desse jeito. Após obter as notas e somar, vc tem que fazer as condições de acordo com a regra:

SE nota <= 30, imprime "Reprovado"
// Acho que na questão, está faltando algo para o range de notas entre 31 e 49
SE nova >= 50 E nota < 75, imprime "Bom"
SE nota >= 75 E nota < 90, imprime "Muito bom"
SE nota >= 90, imprime "Ótimo"

Acho que este range de notas está meio estranho (ou estou boiando aqui). Mas as condições que vc tem que colocar é algo mais ou menos assim como exemplifiquei.

MathHenrique

Fiz através do if igual vc me orientou e utilizei o switch a pedido do professor, muito obrigado!

(era para ter te agradecido a bastante tempo, mas tive problemas na conta do guj)

MathHenrique

Obg, fiz similar a isso que vc demonstrou.

Criado 14 de abril de 2020
Ultima resposta 23 de abr. de 2020
Respostas 4
Participantes 3