Ajuda!

5 respostas
C

Tenho uma String!!
E queria verificar se ela é constituida apenas por letras ou apenas por digitos, para dar um output :“erro”, caso isso se verifique.
Ex:

Se tiver: Calavera12 “certo”
Se tiver: dslfjsdlkjlkj “erro”
Se tiver: [telefone removido] “erro”

5 Respostas

H
boolean isLetter = false;
boolean isDigit = false;
String s = //String para Verificação
char [] c = s.toCharArray();
for(int i = 0; i < c.length; i++){
    Character ch = new Character(c[i]);
    if(ch.isDigit()){
        isDigit = true;
    } else if(ch.isLetter()){
        isLetter = true;
    }
}

if(isDigit && isLetter){
    Syste.out.println("'"+s+"' - certo");
} else {
    Syste.out.println("'"+s+"' - erro");
}
J
public class Test {

  public static boolean temLetraEDigito (String s) throws Exception {
    boolean encontrouLetra = false;
    boolean encontrouDigito = false;
    char[] c = s.toCharArray();
    for (int indice = 0; (indice < c.length) && (encontrouLetra != true || encontrouDigito != true); indice++) {
      if (Character.isLetter(c[indice]))
        encontrouLetra = true;
      else if (Character.isDigit(c[indice]))
              encontrouDigito = true;
            else
              throw new Exception("Caracter Inválido.");
    }
    return encontrouDigito == encontrouLetra;
  }


  public static void main(String[] args) {
    String s1 = "Calavera12"; //"certo"
    String s2 = "dslfjsdlkjlkj"; // "erro"
    String s3 = "[telefone removido]"; //"erro"
    String s4 = "[telefone removido]|||\"; //"erro"
    try {
      System.out.print(temLetraEDigito(s1));
      System.out.print(temLetraEDigito(s2));
      System.out.print(temLetraEDigito(s3));
      System.out.print(temLetraEDigito(s4));
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}

Vai um exemplo… se tiver dúvidas é só falar… quer dizer postar… hehehehe

H

Se ele só tiver caracter inválido ele vai retornar:

return false == false;

Isso não é true ?

J

Pelo exemplo que foi passado, se tiver só letras ou digitos dá erro (conforme exemplo acima). Agora se tiver letras e digitos está certo (conforme exemplo acima).

Foi assim que eu entendi… :wink:

C

Percebes-te bem.

Estava a fazer uma coisa do género!
Mas não estava a dar.

Obrigado, ou como vocês costumam dizer, VALEU!!

Criado 15 de abril de 2004
Ultima resposta 16 de abr. de 2004
Respostas 5
Participantes 3