public class Atividade{
public static void main(String [] args){
Scanner ler;
String nome;
int cont;
ler = new Scanner(System.in);
System.out.print("Digite uma palavra de até 4 caracteres: ");
nome = ler.nextLine();
for(int i = 0; i < nome.length(); i++){
String c = String.valueOf(nome.charAt(i));
if(c.equalsIgnoreCase("%") || c.equalsIgnoreCase("-") || c.equalsIgnoreCase("*") || c.equalsIgnoreCase(";") || c.equalsIgnoreCase(":"))
cont++;
}
System.out.println("Caracteres especiais: " +cont);
}
}
}
O que eu faço ?? tem Algum método especifico para isso ?
Você pode fazer da seguinte maneira:
Neste caso passamos um Arrays contendo os caracteres especiais para o metodo “compile” da classe Pattern. Após, utilizamos o método “matcher” para realizar a contagem de ocorrências. Sua classe ficaria da seguinte maneira:
package teste;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Atividade {
public static void main(String[] args) {
Scanner ler;
String nome;
ler = new Scanner(System.in);
System.out.print("Digite uma palavra de até 4 caracteres: ");
nome = ler.nextLine();
Pattern pattern = Pattern.compile("[!@#$%&*()]");
Matcher matcher = pattern.matcher(nome);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println(count);
}
}
1 curtida