Problema if e else

24 respostas
C

Ola pessoal estou montando uma tela de login e estou encontrando dificuldade para fazer ele mostrar erro quando nao e digitado nada na caixa de login.
Alguma dica??

private void btLogarActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:

        // Pega input {GET}
    String login=campoLogin.getText();
    login = null;
    System.out.println (""+ login +"");
    //String senha=campoSenha.getText();
    //private String login = null;
    //private String senha = null;
        if(login == null){
                   System.out.println ("falta login");
        }
        if(login != null){
                   System.out.println ("deu");
        }

24 Respostas

Scoobydoo

tais usando Jsp ??

o login é uma string ???

Pode ser assim, depende de como vc esta fazendo

if(login != null && !="".equals(login)) {

System.out.println (deu);

}
aureliolima

Cara, utiliza JavaScript pra esses casos…
é bem mais símples

function validaform(frm)
{
	   if (frmLogin.USUARIO.value == ""){
		 alert("Informe seu Usuário!");
		 frmLogin.USUARIO.focus();
		 return false;
	   }
	   if (frmLogin.SENHA.value == ""){
		 alert("Informe sua Senha!");
		 frmLogin.SENHA.focus();
		 return false;
	   } 
}

Chame esse JS, no onsubmit do teu form dessa forma: onSubmit=“return validaform(this);”

Felagund

Scoobydoo:
tais usando Jsp ??

o login é uma string ???

Pode ser assim, depende de como vc esta fazendo

if(login is not null){  
           System.out.println ("deu");  
}
if(login != null && !="".equals(login)) {

System.out.println (deu);

}  </blockquote>

cara isso é SQL is not null não funciona em java.

Cara vc joga o seu login sempre pra null

vc teria que verificar se ele é vazio ao invez de fazer login = null;

no caso usar o metodo isEmpty() da classe String.

B

Quando ele não digita nada na caixa de texto, o texto deve vir vazio, não nulo. Então verifique se o tamanho da string é zero.

C

Estou fazendo um programa de controle de estoque,usando como IDE o Netbeans com servidor mysql.

tchulla

Amigão esperimenta usar Try catch fica mais elegante!

private void btLogarActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        // Pega input {GET}
try{
    String login=campoLogin.getText();
    System.out.println (""+ login +"");
    String senha=campoSenha.getText();
    
   if(login.equals("")||login==null)thow new Exception("Login não informado!");
   if(senha.equals("")||senha==null)thow new Exception("Senha não informada!");
   
   System.out.println("Dados Informados com sucesso!");
}catch(Exception e ){
   System.out.println(e.getMensage);
}
C
criscompbr:
Ola pessoal estou montando uma tela de login e estou encontrando dificuldade para fazer ele mostrar erro quando nao e digitado nada na caixa de login. Alguma dica??
private void btLogarActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:

        // Pega input {GET}
    String login=campoLogin.getText();
    //String senha=campoSenha.getText();
    //private String login = null;
    //private String senha = null;
        if(login == null){
                   System.out.println ("falta login");
        }
        if(login != null){
                   System.out.println ("deu");
        }
R

tchulla falou tudo

Scoobydoo

Queria saber por isso

Scoobydoo

Ve la em baixo…
Vai funcionar

aureliolima

Ainda prefiro JavaScript…

B
<blockquote><div class="quote-author">Scoobydoo:</div>if(login != null || !="".equals(login) || login.trim().Length() =0) {

System.out.println (“deu”);

}

Pronto… assim deve funcionar

Isso nem compila. Tente este:

if (login != null && !login.trim().isEmpty()) {
  System.out.println ("deu");
}
Felagund

Faça com JavaScript em Swing?

Cara vc não percebeu q ele ta fazendo via desktop?

Scoobydoo

Ta tao corrido aqui q nem prestei atenção.
de certeza…
isso vai funcionar

if(login != null || !"".equals(login) || login.trim().Length()>0) { System.out.println ("deu"); }

C
<blockquote><div class="quote-author">Bruno Laturner:</div><blockquote><div class="quote-author">Scoobydoo:</div>if(login != null || !="".equals(login) || login.trim().Length() =0) {

System.out.println (“deu”);

}

Pronto… assim deve funcionar

Isso nem compila. Tente este:

if (login != null && !login.trim().isEmpty()) { System.out.println ("deu"); }

Blz agora ta funcionando!!
Vleu

C

Muito Obrigado a todos pela ajuda pessoal!!!

aureliolima

Não me dei conta, foi mau…

aureliolima

Não tinha me dado conta…
foi mau

andeb
Uma observação, se a sua inteção é verificar se o usuário simplismente não digitou NADA na caixa de login, o correto é fazer assim:
if ("".equals(login)) {
// usuário não digitou nada
}

O exemplo que o pessoal postou também pode ser considerado correto, mas vai pra uma questão polêmico de conceitos, pra mim uma String vazia é simplismente uma String com tamanho 0, e não uma String com espaços em branco (sobre o uso do trim()). :)
pmlm

andeb:

O exemplo que o pessoal postou também pode ser considerado correto, mas vai pra uma questão polêmico de conceitos, pra mim uma String vazia é simplismente uma String com tamanho 0, e não uma String com espaços em branco (sobre o uso do trim()). :)

Um login nunca deverá ser só espaços, certo? Então deve usar o trim :slight_smile:

Scoobydoo

cara. fais do meu jeito que funciona --’’

andeb

Certo, assim como um login não deveria conter somente uma letra, mas vamo abstrai essas questões… :stuck_out_tongue:

Scoobydoo, esse é o seu jeito?

if(login != null || !"".equals(login) || login.trim().Length()>0) { System.out.println ("deu"); }

Porque esse aí também não funciona, ele tá usando o operador|| e no login.trim() poderia estourar NPE :wink:
O correto nesse caso seria:

if (login != null && !"".equals(login) && login.trim().length() > 0) { }

Scoobydoo

é isso ai :stuck_out_tongue:

tchulla

Amigo todas as dicas acima são valorosas vou deixar a minha tb!

eu resolveria assim o seu problema:

private void btLogarActionPerformed(java.awt.event.ActionEvent evt) {
        // Captura o login e já remove espaços em branco
        String login = campoLogin.getText().trim();
        try {
            // Checa se a String login está em branco se estiver lança uma excessão, não se preocupe com null pois 
            // JTextFields não retornam null.
            if(login.equals(""))throw new Exception("Login não informado!");

            // se houver caracteres na String ela será processada a partir daqui
            System.out.println("OK");

        } catch (Exception e) {
            // Aqui é informado a excessão ou 'Mensagem de Alerta' capturada pelo try
            System.out.println(e.getMessage());
        }
    }

espero ter contribuido tb, um abraço!!!

Criado 21 de janeiro de 2010
Ultima resposta 22 de jan. de 2010
Respostas 24
Participantes 9