Ir ao conteúdo

Posts recomendados

Postado

Boa Noite!

Estou com mais uma duvida em mais um exercicio de livro do Rui Rossi.

Tenho que informa o emial e realizar os seguite testes.

  • Não pode ter espaços
  • deve ter um, e somente um, símbolo de @
  • deve haver ao menos 2 caracteres antes de depois do sinal arroba

segue o meu codigo:

import javax.swing.JOptionPane;
public class Exercicio0702
{
 public static void main(String[] args)
 {
    String st = "Informe seu e-mail:";
    st = JOptionPane.showInputDialog(null,st);
    
    if (st.trim().length() == 0)
    {
        st = "Email invalido";
        JOptionPane.showMessageDialog(null,st,"Erro",0);
        System.exit(0);
    }
    
    
    if(st.indexOf("@") != 0 || st.indexOf("@") > 1)
    {
        st = "O e-mail deve conter pelo menos um sinal de @";
        JOptionPane.showMessageDialog(null,st,"Erro",0);
        System.exit(0);
    }
    
    
    
    if(st.substring(0,st.trim().indexOf(" ")).length() < 2 || st.substring(st.trim
().lastIndexOf(" ") + 1).length() < 2)
    {
        st = "O e-mail deve conter pelo menos 2 caracteres antes e depois do sinal de @";
        JOptionPane.showMessageDialog(null,st,"Erro",0);
        System.exit(0);
    }
    
    st = "Email valido: " + st;
    JOptionPane.showMessageDialog(null,st,"mensagem",1);
    System.exit(0);
 }
}

 

O programa roda ate no segundo if e para.

e bem parecido com o outro porém ja tem uns 2 dias que estou quebrando a cabeça com isso e cansado de procurar na internet algo sobre.

 

muito obrigado.

Postado

Amigo, concorda comigo que 1 é diferente de 0, certo?

O seu código faz com que a pessoa entre nesse if mesmo se o @ estiver correto.

 

Tente trocar:

if(st.indexOf("@") != 0 || st.indexOf("@") > 1)

por: 

if(st.indexOf("@") != 1)

Assim ele vai aceitar que se tiver menos que 1 @ está errado e também se tiver mais de 1.

Não sei se isso te ajuda muito mas vejo que nessa parte do código você deve mudar.

 

Espero ter ajudado.

 

Postado

Senhores, Boa noite!!

me desculpem a demora, mas tive alguns problemas com a minha internet e não tive tempo de responder assim q ela voltou ao normal.

Bom, fiz o teste indicado pelo amigo renenskstp, mas não obtive muitos resultado, no entando, muito obrigado pela ajuda..

E o site indicado por dif e de grande ajuda, porém, como estou seguindo a livro do Rui Rosse e ate então as ferramentas que possuo são somente estruturas de if e case, e o que foi passado ate agora no livro. Portanto só posso utilza-las...

 

Mas agradeço muito a ajuda e se tiverem mais alguma ideia. =)

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!