I need help on the IF command, it doesn’t work I don’t know why, it closes the program when I write FRONT is to be a writing game

Asked

Viewed 44 times

0

package reading;

java.util.Random import; import java.util.Scanner;

public class Main {

public static void main(String[]  args) {
                 
    Scanner in = new Scanner(System.in);
    String nome;
    Random rand = new Random();
    System.out.println("Bem vindo ao jogo!  digite seu nome: ");
    nome = in.nextLine();
    System.out.println("seja muito bem vindo(a) "+ nome);
    System.out.println("para qual direção você gostaria de ir? (frente)");
    String comando = in.nextLine();
    if(comando == "frente")  {
        System.out.println("você está indo para frente");
        System.out.println("Um inimigo surge das sombras, O que você ira fazer? (lutar,fugir)");
        comando = in.nextLine();
        if(comando == "lutar") {
                System.out.println("Você mata a criatura sombria, Parabéns você ganhou o jogo");
             }
        }
            
        }
            }
        

2 answers

1

For comparison of Strings you must use equals.

if (comando.equals("frente"))

0

In the java language the comparison of strings and other classes is made through the equals method().

the notation "==" serves only to compare primitive types (int, float, char ...), or in the case of objects, to compare whether the references of objects in memory are the same.

If I’ve confused you, just understand that String compares using . equals, and when you learn object-oriented programming you will understand.

Your code would look like this:

    public static void main(String[]  args) {

    Scanner in = new Scanner(System.in);
    String nome;
    Random rand = new Random();
    System.out.println("Bem vindo ao jogo!  digite seu nome: ");
    nome = in.nextLine();
    System.out.println("seja muito bem vindo(a) "+ nome);
    System.out.println("para qual direção você gostaria de ir? (frente)");
    String comando = in.nextLine();
    if(comando.equals("frente"))  {
        System.out.println("você está indo para frente");
        System.out.println("Um inimigo surge das sombras, O que você ira fazer? (lutar,fugir)");
        comando = in.nextLine();
        if(comando.equals("lutar")) {
            System.out.println("Você mata a criatura sombria, Parabéns você ganhou o jogo");
        }
    }

Browser other questions tagged

You are not signed in. Login or sign up in order to post.