packagesabadoletivo;importjavax.swing.JOptionPane;publicclassSabadoLetivo{publicstaticvoidmain(String[]args){finalintNUM=10;StringnomeCliente[]=newString[NUM];//LentraAfor(inti=0;i<NUM;i++){nomeCliente[i]=JOptionPane.showInputDialog("Nome:");}//LetraBStringn="";for(inti=0;i<NUM;i++){n=n+nomeCliente[i]+"\n";}JOptionPane.showMessageDialog(null,n);//LetraCfor(inti=0;i<NUM;i++){if(nomeCliente[i].startsWith("Pedro")){JOptionPane.showMessageDialog(null,"Nome comessado com [Pedro] == "+nomeCliente[i]);}}//LetraDfor(inti=0;i<NUM;i++){if(nomeCliente[i].endsWith("Silva")){JOptionPane.showMessageDialog(null,"Nome terminado com [Silva] =="+nomeCliente[i]);}}for(inti=0;i<NUM;i++){if(nomeCliente[i].contains("Antonio")){JOptionPane.showMessageDialog(null,"Nome que tem a palava [Antonio] == "+nomeCliente[i]);}}}}
Apenas com o java, sem utilizar nenhuma outra biblioteca, você terá que colocar tudo pro maisculo/minusculo
if(nomeCliente[i].toLowerCase().startsWith("Pedro".toLowerCase())){//ou.toUpperCaseJOptionPane.showMessageDialog(null,"Nome começado com [Pedro] == "+nomeCliente[i]);}
Agora tem a classe StringUtils da org.apache.commons.lang, mas acho que seu professor não irá aceitar, vai parecer que está dando uma de espertinho, mas pode usar pra projetos seus
importorg.apache.commons.lang.StringUtils;publicclassMain{publicstaticvoidmain(String[]args){System.out.println(StringUtils.containsIgnoreCase("PEDRO DA SILVA","Pedro"));//a saída será: true}}
M
MarcelloFelipe
Ola, mais eu preciso que independente se digitar [ pedro ou PEDRO] na hora de filtrar todos nomes que começa com a palavra Pedro, tem que lista todos os nomes… exemplo
pedro antônio
Pedro marcos
PEDRO Henrique …
M
MarcelloFelipe
Ola ErickRAR entendi o que vc quis dizer… deu certo… agora vc pode me explica este trecho do código
if(nomeCliente[i].toLowerCase().startsWith("Pedro".toLowerCase())){
JOptionPane.showMessageDialog(null,"Nome comessado com [Pedro] == " + nomeCliente[i]);
}
por que tem que coloca .toLowerCase() duas vezes ?
ErickRAR
O método toLowerCase() transforma a String em minusculo, o toUpperCase() transforma em maiúsculo.
System.out.println("O Dragão Chinês".toLowerCase());//Imprime:odragãochinêsSystem.out.println("Chuck Norris apanha pra mim direto".toUpperCase());//Imprime:CHUCKNORRISAPANHAPRAMIMDIRETO
Fazendo isso na hora de comparar, você estará sempre comparando tudo minusculo, sem correr o risco de “Pedro” e “peDro” serem diferentes.
nomeCliente[i].toLowerCase()//Passa a string nomeCliente[i] para minusculo.
"Pedro".toLowerCase() //Passa a String "Pedro" para minusculo. Não precisaria se você comparasse logo com "pedro" ao invés de "Pedro".
Depois é a verificação se uma String começa com aoutra.
Também tem o caso dos acentos e caracteres especiais, mas pra isso é melhor você ver só quando tiver um pouco mais de experiencia e tal, ai pode dar uma olhada nesse tópico?
M
MarcelloFelipe
Obrigado pela atenção ErickRAR conseguir compreender perfeitamente os metados… vlw pela ajuda