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

2 respostas Resolvido
java
Roger_Lopes

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();
}

}

2 Respostas

Lucas_Camara
Solucao aceita

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).

Roger_Lopes

Muito obrigado, ajudou bastante, consegui.

Criado 19 de maio de 2020
Ultima resposta 19 de mai. de 2020
Respostas 2
Participantes 2