Boa tarde. Acredito que o operador condicional ternário possa ter algum limitador, ou seja, algo que não seja possível e que o Switch-case seja. Eu fiz o código abaixo e achei o código mais limpo utilizando o operador ternário. Qual a opinião de vocês?
import javax.swing.JOptionPane;
public class Meses{
public static void main(String[] args) {
/* String st = “Informe um número entre 1 e 12”;
st = JOptionPane.showInputDialog(null,st);
byte mes = Byte.parseByte(st);
switch(mes) {
case 1:
st = "Janeiro";
break;
case 2:
st = "Fevereiro";
break;
case 3:
st = "Março";
break;
case 4:
st = "Abril";
break;
case 5:
st = "Maio";
break;
case 6:
st = "Junho";
break;
case 7:
st = "Julho";
break;
case 8:
st = "Agosto";
break;
case 9:
st = "Setembro";
break;
case 10:
st = "Outubro";
break;
case 11:
st = "Novembro";
break;
case 12:
st = "Dezembro";
break;
default:
st = "Mês inválido!";
JOptionPane.showMessageDialog(null, st, "Erro", 0);
System.exit(0);
}
st = "Você escolheu o mês de " + st;
JOptionPane.showMessageDialog(null, st, "Mensagem", 1);
System.exit(0);
*/
String st = "Informe um número entre 1 e 12";
st = JOptionPane.showInputDialog(null,st);
byte mes = Byte.parseByte(st);
JOptionPane.showMessageDialog(null,
mes == 1 ? "Janeiro" :
mes == 2 ? "Fevereiro" :
mes == 3 ? "Março" :
mes == 4 ? "Abril" :
mes == 5 ? "Maio" :
mes == 6 ? "Junho" :
mes == 7 ? "Julho" :
mes == 8 ? "Agosto" :
mes == 9 ? "Setembro" :
mes == 10 ? "Outubro" :
mes == 11 ? "Novembro" :
mes == 12 ? "Dezembro" :
"Mês inválido", "Mensagem",1);
}
}