Qual o erro com meu código? Por que ele não repete quando eu digito "S" e me da o resultado direto

import java.util.Scanner;

public class RepitaAte {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	
	int valor,soma;
	String resp;
	soma = 0;
	do 
	{
		System.out.print("Digite o valor ==> ");
		valor = sc.nextInt();
		soma = soma + valor;
		System.out.print("Você quer continuar? [S/N] ");
		resp = sc.next();
	} while (resp == "N");
	System.out.println("A soma de todos os valores digitados é " + soma);
	
	sc.close();
}

}

Nâo compare strings dessa forma. Use sempre o método equals: "N".equals(resp). E no seu caso, acho que o certo seria uma negativa nessa condição: !"N".equals(resp). Ou melhor: "S".equalsIgnoreCase(resp).

1 curtida

Muito obrigado, ajudou bastante, consegui.