Estou com uma duvida em relação a comparação equals. Quando vou comparar uma resposta em String que é composta, ele considera como se fosse duas respostas, qual comando eu uso para ele ignorar o espaço e comparar como uma só.
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
String[]estados=newString[10];String[]capitais=newString[10];Stringresp;estados[0]="Acre";capitais[0]="Rio Branco";for(inti=0;i<9;i++){System.out.println("Fale qual é a capital desse estado : "+estados[i]);resp=teclado.next();if(resp.equalsIgnoreCase(capitais[i])){System.out.println("Parabens você acertou");}elseSystem.out.println("A resposta certa é : "+capitais[i]);
Fale qual é a capital desse estado : Acre
Rio Branco
A resposta certa é : Rio Branco
bom vc pode usar o comando replace para remover o espaço ex:
Stringnome="Rio Branco";//troca o espaço por nada.StringsemEspaco=nome.replace(" ","");System.out.println("Sem espaço: "+semEspaco);//coloca todas as letras minusculas.Stringminusculas=semEspaco.toLowerCase();System.out.println("Letras pequenas: "+minusculas);
A saída vai ser:
Semespaço:RioBrancoLetraspequenas:riobranco
recomendo utilizar o método toLowerCase q deixa tudo minúsculo, assim independente de o usuario escreve com alguma letra maiuscula ou minuscula a resposta ficaria certa.
Obs:
“Bernal:
resp = teclado.next();
o método next() só pega o nome inicial, exemplo se tu digitar no console Rio Branco, ele só pega Rio, então vc deve trocar pelo método nextLine() que pega toda a linha digitada.
resp=teclado.nextLine();
ARandomProgrammer2 likes
Como o amigo disse acima, vc pode usar o método replace(), mas o replace() serve para trocar pedaços de uma String por outro… Existe um método q foi criado só para remover todos os espaços de uma String, chama trim()
recomendo q incremente o método toLowerCase() nos dois tbm
Abraço
raphaeloneves1 like
+1
Jeanderson_Silva2 likes
Isso mesmo amigo, mas só uma observação para o colega que está com dúvida, no caso o trim() não remove “Todos” os espaços dentro de uma string, ele remove somente os espaços no inicio e fim de uma String.
Aí se vc precisar remover os espaços de inicio e fim e também entre as palavras, combina o trim() com replace()