Como faço para senha do tipo inteiro e código de segurança em outro campo?
tem como usar JOptionPane.ShowInputDialog e JPasswordField?
E como faço pra negar algo em que foi comparado usando equals
exemplo:
if(senha.equals(senhaUsuario))... preciso dizer:
SE SENHA NÃO FOR IGUAL A SENHA QUE O USUÁRIO DIGITOU. Como faço?
por favor, preciso de um exemplo
Segue abaixo parte do código:
Stringcodigo="";//String que recebe codigo digitado pelo usuariosenha=Integer.parseInt(JOptionPane.showInputDialog(msg+" Digite sua senha de 6 Dígitos"));//Variavel "senha" recebendo entrada do usuário para acesso ao sistemacodigo=JOptionPane.showInputDialog("Digite as três letras de segurança");a++;//Variavel que é implementada com 1 a cada loop se a senha for digitada erradaif(senha==c1.getSenha()){//Se a senha digitada pelo usuario for igual a senha gravada no sistemac1.setSaldo(453);c1.setNomeCliente("Djheison Fernando Araujo Silva");//Metodo setNome com valor gravadoc1.setCpf("[CPF removido]");//Metod setCpf com valor gravadoc1.setTelefone("8477-9545");//Metodo setTelefone com valor gravado c1.setEndereco("Colonia Agrícola Samambaia Rua 04 Ch. 19 Cs. 20");opcao=Integer.parseInt(JOptionPane.showInputDialog("\t..:BANCO DO BRASIL:..\n\n1 - DEPOSITAR 2 - SACAR"));//variavel "opcao" recebe opção de operação do usuárioif(opcao==1){//se "opcao" igual a 1 - Depositoc1.setCredito(Double.parseDouble(JOptionPane.showInputDialog("VALOR: ")));//setCredito recebe o valor do depósitoJOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\nVALOR DO DEPÓSITO \nR$ "+c1.credito);//Mensagem que mostra valor do deposito}if(opcao==2){//se "opcao" igual a 2c1.setDebito(Double.parseDouble(JOptionPane.showInputDialog("VALOR: ")));//setDebito recebe o valor do saque JOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\nVALOR DO SAQUE \nR$"+c1.debito);//Mensagem que mostra valor do saque}JOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\n\n"+c1.getDadosConta());//Imprime dados da conta }if((senha==c1.getSenha()&&c1.getCodigo().equalsIgnoreCase(codigo))==false){msg="Senha ou Codigo inválido";}}a++;if(a>=3){JOptionPane.showMessageDialog(null,"Senha Bloqueada");//Se a senha for digitada errada 3 vezes: SENHA BLOQUEADA }
Favor mostrar-me como fazer para nos campos de digitação de senha e de código ocultá-los no momento da
digitação usando a caixa de diagolo de JOptionPane e depois como compará-los com senha e codigo ja gravados no sistema.
Desde já muito obrigado
Aguardo!
Galera…
… como faço pra negar algo em que foi comparado usando equals
exemplo: if(senha.equals(senhaUsuario))… preciso dizer:
SE SENHA NÃO FOR IGUAL A SENHA QUE O USUÁRIO DIGITOU. Como faço?
if(!senha.equals(senhaUsuario))
Operador " ! "
jessetsilva
As senhas gravadas que devem ser comparadas estão onde exatamente, num banco de dados? num arquivo? numa String? mostra pra gente onde elas estão armazenadas pra podermos te dar uma idéia do que fazer.
Djheison
A condição é se o codigo e a senha não forem corretos. Coloquei assim mas não está dando certo:
packageTeste;//pacote testeimportjavax.swing.*;// importação do pacote da parte gráfica do sistemapublicclassBanco{//Class Principal Bancopublicstaticvoidmain(String[]args){//Metodo principalinta=0;//variavel "contador" intopcaoConta=Integer.parseInt(JOptionPane.showInputDialog("1 - CONTA 2 - CONTA ESPECIAL\n\n\n"));//Mensagem para opção de contaif(opcaoConta==1){//Se opcaoConta for igual a 1Contac1=newConta();//É contruido um objeto c1 da classe Contac1.setNomeCliente("Djheison Fernando Araujo Silva");//Metodo setNome com valor gravadoc1.setCpf("[CPF removido]");//Metod setCpf com valor gravadoc1.setTelefone("8477-9545");//Metodo setTelefone com valor gravado c1.setEndereco("Colonia Agrícola Samambaia Rua 04 Ch. 19 Cs. 20");c1.setSaldo(453);c1.setSenha(102030);//O Metodo setSenha tem valor gravadoc1.setCodigo("GVC");//O Método setCodigo tem valor gravadointopcao=0;//variável para escolha de ação na containtsenha=0;//Variavel que recebe a senha digitada pelo usuárioStringmsg="";//Variavel que recebe a mensagem "Cartão Bloqueado, caso a senha seja digitada errada 3 vezesStringcodigo="";//String que recebe codigo digitado pelo usuariowhile(a<3&&senha!=c1.getSenha()&&(!codigo.equals(codigo))){//Condição para que o usuário digite a senhasenha=Integer.parseInt(JOptionPane.showInputDialog(msg+" Digite sua senha de 6 Dígitos"));//Variavel "senha" recebendo entrada do usuário para acesso ao sistemacodigo=JOptionPane.showInputDialog("Digite as três letras de segurança");//OBSERVAÇÃO a++;Variavel que é implementada com 1 a cada loop se a senha for digitada errada}if(senha==c1.getSenha()&&codigo.equalsIgnoreCase(c1.getCodigo())){//Se a senha digitada pelo usuario for igual a senha gravada no sistemaopcao=Integer.parseInt(JOptionPane.showInputDialog("\t..:BANCO DO BRASIL:..\n\n1 - DEPOSITAR 2 - SACAR"));//variavel "opcao" recebe opção de operação do usuárioif(opcao==1){//se "opcao" igual a 1 - Depositoc1.setCredito(Double.parseDouble(JOptionPane.showInputDialog("VALOR: ")));//setCredito recebe o valor do depósitoJOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\nVALOR DO DEPÓSITO \nR$ "+c1.credito);//Mensagem que mostra valor do deposito}if(opcao==2){//se "opcao" igual a 2c1.setDebito(Double.parseDouble(JOptionPane.showInputDialog("VALOR: ")));//setDebito recebe o valor do saque JOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\nVALOR DO SAQUE \nR$"+c1.debito);//Mensagem que mostra valor do saque}JOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\n\n"+c1.getDadosConta());//Imprime dados da conta }else{msg="Senha ou Codigo inválido";}if(a>=3){JOptionPane.showMessageDialog(null,"Senha Bloqueada");//Se a senha for digitada errada 3 vezes: SENHA BLOQUEADA }}if(opcaoConta==2){//se a opção para conta for '2'ContaEspecialce1=newContaEspecial();//é criado um objeto da conta especialce1.setSenha(203040);//Metodo setSenha com valor gravadointopcao;//varialvel opcaointsenha=0;//variavel que recebe a senha digitada pelo usuário//int a=0; //variavel "contador"Stringmsg="";//Variavel que recebe a mensagem "Cartão Bloqueado, caso a senha seja digitada errada 3 vezeswhile(a<3&senha!=ce1.getSenha()){//Condição para que o usuário digite a senhasenha=Integer.parseInt(JOptionPane.showInputDialog(msg+" Digite sua senha de 6 Dígitos"));//Variavel "senha" recebendo entrada do usuário para acesso ao sistemaa++;//Variavel que é implementada com 1 a cada loop se a senha for digitada erradaif(senha!=ce1.getSenha()){//Condição: Se a senha for diferente da senha gravada no sistemamsg="Senha Inválida.";//A variável "msg" recebe "Senha inválida"}if(senha==ce1.getSenha()){//Se a senha digitada pelo usuario for igual a senha gravada no sistemace1.setLimite(600);//metodo setLimite com valor gravado ce1.setNomeCliente("Alecio de Oliveira Silva");//Metodo setNomeCliente recebe valorce1.setCpf("[CPF removido]");//Metodo setCpf recebe valorce1.setTelefone("8504-5016");//Metodo setTelefone recebe valorce1.setEndereco("Colonia Agrícola Samambaia Ch. 19 Cs. 20");//metodo setEndereco com valor gravadoopcao=Integer.parseInt(JOptionPane.showInputDialog("1 - DEPOSITAR 2 - SACAR 3 - SALDO"));//variavel "opcao" recebe opção de operação do usuárioif(opcao==1){//se "opcao" igual a 1 - Depositoce1.setCredito(Double.parseDouble(JOptionPane.showInputDialog("VALOR: ")));//metodo setCredito recebe valorJOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\nVALOR DO DEPÓSITO R$\n"+ce1.credito);//Mensagem que mostra valor do deposito}if(opcao==2){//se "opcao" igual a 2ce1.setDebito(Double.parseDouble(JOptionPane.showInputDialog("VALOR: ")));//imprime a mensagem para que o usuario digite o valor e setDebito recebe este vJOptionPane.showMessageDialog(null,"\t..:BANCO DO BRASIL:..\n\nVALOR DO SAQUE R$\n"+ce1.debito);//Imprime o valor do saque}JOptionPane.showMessageDialog(null,ce1.getDadosContaCliente());//Imprime dados da conta }}if(a>=3){//Se a senha for digitada incorretamente 3 vezesJOptionPane.showMessageDialog(null,"Senha Bloqueada");//Imprime a mensagem "senha bloqueada}}}}
Aí está a parte do código para que você tenha uma idéia...
Eu estou tentando fazer alguns ajustes
algumas coisas podem estar meio bagunçadas mas o mais importante
é enternder aquele processo
Muito obrigado pelo apoio
jessetsilva
se for tudo String experimenta usar
!senha.equals(c1.getSenha())
ao invés de
senha!=c1.getSenha()
não se deve comparar Strings usando == ou !=, pois pode dar errado.
a senha é do tipo inteiro está especificado no codigo
apenas o codigo é do tipo String
O
ozix
brother tem outras formas de fazer isso, mas…
o erro tá aqui: while (a < 3 && senha != c1.getSenha() && (![color=red]codigo[/color].equals([color=red]codigo[/color])))