Opa galera seguinte eu to qurendo fazer a seguinte condiçao dentro de um if mais nao sei a maneira correta…
if (opcaocadastro != int)
o usuario digita a opçao se for int prosegue o programa se nao ele cai no meu else porém esta dando errado a condiçao nao sei como fazer…
Isso aí é tarefa pra tratamento de exceção, cara…
mas se tu quer fazer isso, podes trabalhar com classe wrapper (Integer) e testar com o método instanceOf.
Abraço!
PS: Se tu tá recebendo esse valor de um JOptionPane da vida, o valor que vem é SEMPRE uma string, então vai dar problema aí… tens que fazer typecast. A exceção lançada nesse caso, se não me engano, é NumberFormatException… mas não tenho certeza.
do{
try{
opçaocadastro=Integer.parseInt(JOptionPane.showInputDialog(“Digite 1 Para Cadastro - 2 Para Listar - 3 Para Pesquisar”));
//if(opçaocadastro != int ){
switch(opçaocadastro){
case 1:
Long id=Long.parseLong(JOptionPane.showInputDialog("Digite o ID do Cliente"));
String nome=JOptionPane.showInputDialog("Digite o nome do Cliente");
String cpf=JOptionPane.showInputDialog("Digite o CPF do Cliente");
Cliente cliente = new Cliente();
cliente.setId(id);
cliente.setNome(nome);
cliente.setCpf(cpf);
JOptionPane.showMessageDialog(null,cliente.toString());
if(banco.cadastrarCliente(cliente)==true)
JOptionPane.showMessageDialog(null,"Cliente Cadastrado");
else
JOptionPane.showMessageDialog(null," Cadastrado Encerrado");
break;
case 2:
banco.listarClientes();
break;
case 3 :
Long pesquisa=Long.parseLong(JOptionPane.showInputDialog("Digite o ID do Cliente Para Pesquisa-lo"));
banco.pesquisaCliente(pesquisa);
break;
}
//}else{
//JOptionPane.showMessageDialog(null,"Leia as opções Zé Ruela");}
ai é o seguinte se o cara digitar algo q nao for 1, 2 ou 3 entrar no else se eu digitar por exemplo 5 ele nao sai do programa mais se eu digitar uma string ele sai daí que eu queria tratar o erro mais nao sei como…
Entra no site da Caelum, pega a apostila do curso FJ-11 e estuda a parte de tratamento de exceção.
É o que tu precisas, tratar a exceção, o comportamento fora do padrão, inesperado.
É que se fosse coisa urgente de trabalho, eu corrigia no código pra ti.
Mas já que tu tá fazendo pra aprender, é bom que tu quebre a cabeça um pouco, daí já pega a manha.
Não é difícil não, e aquela apostila que eu falei é ótima e todo mundo indica por aqui… vai que é quente hehe
De novo o evertonsilvagomesjava , com perguntas sobre lógica e talz isto eh coisa básica , antes de fazer algo leia a apostila da www.caelum.com.br/apostilas
package com.squadra.caixa.persistencia.principal;
import javax.swing.JOptionPane;
import com.squadra.caixa.persistencia.entidade.Banco;
import com.squadra.caixa.persistencia.entidade.Cliente;
public class Principal {
public static void main(String[] args) {
int opçaocadastro=0;
Banco banco = new Banco();
do{
try{
opçaocadastro=Integer.parseInt(JOptionPane.showInputDialog("Digite 1 Para Cadastro - 2 Para Listar - 3 Para Pesquisar"));
//if(opçaocadastro != int ){
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Error: " +e.getMessage());
}finally{
JOptionPane.showMessageDialog(null, "Parametro informado errado !");
}
switch(opçaocadastro){
case 1:
Long id=Long.parseLong(JOptionPane.showInputDialog("Digite o ID do Cliente"));
String nome=JOptionPane.showInputDialog("Digite o nome do Cliente");
String cpf=JOptionPane.showInputDialog("Digite o CPF do Cliente");
Cliente cliente = new Cliente();
cliente.setId(id);
cliente.setNome(nome);
cliente.setCpf(cpf);
JOptionPane.showMessageDialog(null,cliente.toString());
if(banco.cadastrarCliente(cliente)==true)
JOptionPane.showMessageDialog(null,"Cliente Cadastrado");
else
JOptionPane.showMessageDialog(null," Cadastrado Encerrado");
break;
case 2:
banco.listarClientes();
break;
case 3 :
Long pesquisa=Long.parseLong(JOptionPane.showInputDialog("Digite o ID do Cliente Para Pesquisa-lo"));
banco.pesquisaCliente(pesquisa);
break;
}
//}else{
//JOptionPane.showMessageDialog(null,"Leia as opções Zé Ruela");}
}while(opçaocadastro != 0);
}
Essa vale pra todos: Não se deixe intimidar. Tire suas dúvidas. Ainda há pessoas de boa-vontade. Porém, não se acomode a perguntar antes de fazer aquela pesquisa básica.
[quote=evertonsilvagomesjava]o true eu saquei q nao precisava agora isso:
if(!banco.cadastrarCliente(cliente))
essa exclamaçao indica que o conteudo na frente e falso?
[/quote]
o sinal de ! serve para o seguinte ,
boolean teste1 = false;
if(!teste1){
System.out.println("valor real da variavel => " + teste1);
}else{
System.out.println("valor da variavel apos negar => " + teste1);
}
Ira escrever ;
valor real da variavel => false
valor da variavel apos negar => true