Oi pessoal.
Estou começando agora no Java, e estou fazendo uma calculadora simples.
JOptionPane.showMessageDialog(null,"Bem vindo a Calculadora java!");
N1=Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro numero: "));
N2=Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo numero: "));
Object [] itens = {"Adiçao","Subtração","Multiplicação","Divisão"};
Objetct selectedValue=(Objetct) JOptionPane.showInputDialog(null,"Escolha a operação","Opção",JOptionPane.INFORMATION_MESSAGE,null,itens,itens[0]);
Eu criei uma caixa de opções onde o usuário escolhe a operação desejada.
Agora eu queria fazer um Switch para realizar as operações, mas o NetBeans me diz que não posso usar Objetos…
Existe opção de conversão? não consigo encontrar nada.
Abraços!
Cara, seria bom dar uma lida na documentação do java, ela é bem bacana para esclarecer dúvidas.
Acontece que o switch do java só funciona com:
- int
- char
- String
- enum
Qualquer coisa fora disso, não.
Você pode sim converter teu objeto em String, invocando o método toString() dele, mas não sei se é o mais indicado.
Conhecer a linguagem, seus recursos e a forma como a mesma permite a resolução das situações é fundamental para conseguir evoluir como desenvolvedor.
1 curtida
Usa if/else if é a mesma coisa
1 curtida
Olá Oliveiro, o Switch no Java não aceita objetos complexos, aceitando somente (Java 7 > ) os tipos primitivos byte, short, char e int e tipos de ENUM e a classe String. Caso queira saber mais sobre o Switch você pode dar uma olhada aqui.
Caso você vá colocar diversos switch/if no código, talvez não seja a melhor coisa a fazer e pesquisar alguns padrões de projetos, que seria a melhor alternativa. Caso tenha interesse, pode ver alguns como este do Guilherme Silveira no Blog da Caelum e este outro, utilizando o padrão de Strategy.
1 curtida
Obrigado pelas indicações!!!