[RESOLVIDO] Como comparar Strings no Java

package teste;

import java.util.Scanner;

public class Escolha {
	public static void main ( String[]args ) {
		Scanner in = new Scanner ( System.in );
		String nome;
		System.out.print("Informe a direção:");
		nome = in.nextLine();
		System.out.println("Tecla precionada: " + nome);
		if (nome == "w") {
			System.out.print("frente");
		}else if (nome == "s"){
			System.out.print("trás");
		}else if (nome == "d"){
			System.out.print("direita");
		}else if (nome == "a"){
			System.out.print("esquerda");
		}else {
			System.out.println("Comando não encontrado!");
		}
	}
}

/*
MESMO QUE EU DIGITE UMA DAS TECLAS W,S,D OU A ELAS CAEM NA ULTIMA CONDIÇÃO ALGUÉM PODE ME AJUDAR A RESOLVER ESSE PROBLEMA?
*/

1 curtida

Use .equals pra comparar strings, e não ==.

if (nome.equals("w")){ ... }
...
2 curtidas

Valeu meu bom!

1 curtida

@Joao_Antonio1, segue um link para você entender melhor acerca do porque usar somente o método equals para comparar Strings no Java!

Abraço meu caro! :slight_smile:

1 curtida

Cara você pode colocar o ignoreCase, porque ai mesmo que pessoa digite em maiúsculo ou minusculo o programa vai ignorar isso e vai “só ver” se a pessoa digitou o que era esperado (nesse caso o que você vai informar como argumento).
tipo

if (nome.equalsIngnoreCase(“w”)){ …

2 curtidas