Galera estou querendo pega a String nome que já vem preechida e comparar se nesse nome contem caracter especial se tiver ele irá mandar a msg
fiz esse metodo abaixo mais não funciona como deveria alguém pode ajudar como eu devo comparar nesse if dentro do for para se conter algum
caracter ele printa a mensagem
public static String caracteresEspeciais(String nome) {
String []caractersEspeciais = {"'", "!", "@"};
char[] arrayNomes = nome.toCharArray();
for (int i = 0; i < arrayNomes.length; i++){
if(arrayNomes.equals(caractersEspeciais)){
System.out.println("Erro Contem caracter especial");
}
}
return nome;
}
Use algum metodo da propria classe String.
public static String caracteresEspeciais(String nome) {
…
if(nome.contains("@"))
{}
else
{}
Se tiver alguma duvida posta aí!
=)
Abraço!
então Galileo.gt
fiz conforme abaixo mais não deu certo tem sabe o que deve alterar ai ?
public static void main(String[] av) {
String nome = "R@bson";
String []caractersEspeciais = {"@","!","#"};
for (int i=0; i < nome.length(); i++){
if(nome.contains(caractersEspeciais.toString())){
System.out.println("Contem Especial");
}else{
System.out.println("Sem especial");
}
}
}
Não, tem que mudar a logica daí. Algo do tipo:
public static void main(String[] av)
{
String nome = "R@bson";
String []caractersEspeciais = {"@","!","#"};
for (int i=0; i < caractersEspeciais.length; i++)
{
if(nome.contains(caractersEspeciais[i]))
{
System.out.println("Contem Especial");
break;
}
else
{
//System.out.println("Sem especial");
}
}
}
Nao teste, talvez precise ajustar algo
então,
testei porém ainda não esta funcionando ele esta percorrendo apenas 2 posições e não todas as posições até encontrar o caracter
alguém tem alguma sugestão segue como esta o main
public static void main(String[] av){
String nome = "Robs@n";
String []caractersEspeciais = {"@","!","#"};
for (int i=0; i < caractersEspeciais.length; i++){
if(nome.contains(caractersEspeciais[i])){
System.out.println("Contem Especial");
System.out.println("Posição " + i + " is " + nome.charAt(i));
break;
}
else{
System.out.println("Sem especial");
System.out.println("Posição " + i + " is " + nome.charAt(i));
}
}
}
O que voce quer? A posicao em que ele encontrou o char especial??
isso esta errado: System.out.println("Posição " + i + " is " + nome.charAt(i));
Voce precisa de outra coisa:
nome.indexOf(caractersEspeciais[i]);
Não eu quero que ele percorre toda a string e caso encontre algum caracter especial printa que existe caractar na String e para a execução
isso System.out.println("Posição " + i + " is " + nome.charAt(i));
eu coloquei apenas para um teste mais isso ta fora
não sei o que esta tb porque quando ele executar as posições 0,1,2 usando essa String nome ai que tem 6 posições ele termina a execução antes de percorrer toda ela
Veja se te atende:
public static void main(String[] av) {
String nome = "Robs@n";
String caractersEspeciais = "@!#" ;
String c;
for (int i = 0; i < nome.length(); i++) {
c = String.valueOf(nome.charAt(i));
if (caractersEspeciais.contains(c)) {
System.out.println("Contém Especial");
System.out.println("Posição " + i + " is " + nome.charAt(i));
break;
} else {
System.out.println("Sem especial");
System.out.println("Posição " + i + " is " + nome.charAt(i));
}
}
}
Dê uma olhada nas classes Matcher e Pattern.
creio que é isto que vc procura
public static void main(String[] av) {
String nome = "Robso@";
String[] caractersEspeciais = {"@", "!", "#"};
for (int i = 0; i < caractersEspeciais.length; i++) {
if (nome.contains(caractersEspeciais[i])) {
System.out.println("Caracter: " + caractersEspeciais[i]);
System.out.println("Posicao: " + nome.indexOf(caractersEspeciais[i]));
break;
}
}
}
fvslistas era isso mesmo que eu precisava
valeu mesmo pela ajuda topico resolvido quem tiver a mesma duvida que eu esta ai prontinho.
obrigado.
Cara, acho que você poderia ter feito isso utilizando Pattern.
Com o Pattern você especifica uma lista de símbolos/letras, manda ele procurar na String e verifica se algo foi encontrado, acho que é uma mais profissional.
Alguns links, caso você se interesse:
http://reference.wolfram.com/legacy/v5/TheMathematicaBook/PrinciplesOfMathematica/StringsAndCharacters/2.8.3.html
http://java.sun.com/docs/books/tutorial/essential/regex/pattern.html
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
Fica a dica ai!