Erro ao usar o nextline depois o if

7 respostas
programaçãojava
G

oi sou um iniciante na programação e estou com problema gostaria que alguém ajudasse, é um erro de quando executo e digito 1 não é executado o “acerto” talvez seja erro no meu Java algum problema de instalação, não sei ao certo então quero uma ajuda para quem consegue resolver esse bug porque aparentemente o código esta certo .-.

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);
    System.out.println("1 ou 2?");
    String N = in.nextLine();
    if(N == "1") {
    	System.out.print("Acerto");
    } 	
  }

}

7 Respostas

G

outra coisa, o else funciona so o if ta com esse bug

M

String se compara com o método equals

If(string1.equals(string2)) {}

O == é usado para comparar referencia ou valores numéricos

G

qual linguagem q c ta falando? eu to falando de java e é usado == para strings msm, se for diferente da erro

G

opa irmão se vc estiver usando números inteiros é recomendado você usar
o switch(), como abaixo:

Scanner in = new Scanner(System.in);
    System.out.println("1 ou 2?");
    int N = in.nextInt();
    switch(N){
        case 1:
            System.out.println("ACERTOU");
            break;
        case 2:
            System.out.println("ERROU");
        break;
G

estou usando string msm .-.

G

opa tentei usar funcionou msm com string obrigado

G

use o método equals() para strings

Criado 14 de novembro de 2018
Ultima resposta 15 de nov. de 2018
Respostas 7
Participantes 4