Problemas com o "if", o que estou fazendo errado? [RESOLVIDO]

4 respostas
D
Estava tentando fazer um tipo de prova de matemática, sou muito iniciante então estava tentando fazer isso como um exercício, porém não estou conseguindo, pois mesmo colocando a resposta correta, o programa identifica como se estivesse errado... Ajuda aí galera! ^^ O código ficou assim(exemplo):
import javax.swing.JOptionPane;
import java.util.ArrayList;

public class Prova {
	
	public static void main(String[] args) {
		
		ArrayList<String> erros = new ArrayList();
		
		int total = 0;
		
		String resposta1 = JOptionPane.showInputDialog("Quanto é 1 + 1?");
		if(resposta1 == "2") {
			total += 1;
			
		} else {
			erros.add("1");
		}
		
		String resposta2 = JOptionPane.showInputDialog("Quanto é 2 * 2?");	
		if(resposta2 == "4") {
			total += 1;
			
		} else {
			erros.add("2");
			
		}
		
		JOptionPane.showMessageDialog(null, "Você acertou um total de:  " + total + " questões.");
		
		JOptionPane.showMessageDialog(null, "Você erros as questões: " + erros);

	}


}
Valeu gente!

4 Respostas

thiago_dias

String é um objeto e para comparar o seu valor usamos o método equals.

if(resposta1.equals("2")) {  
            total += 1;  
              
        }
D

Valeu mesmo! Desculpa a noobice!

M

Caso em algum momento ache mais fácil trabalhar com valores numéricos, você pode também converte-los (a assim poder usar o operador ==)

int valor = Integer.parseInt(String);

=]

netoax

Já cometi muito esse erro no começo, o único problema é que você recebe o valor como uma “String” e não um “Inteiro” desse jeito o “if” não iria entender, por isso a necessidade de converter o valor usando o código que os colegas passaram acima.

Criado 12 de fevereiro de 2013
Ultima resposta 13 de fev. de 2013
Respostas 4
Participantes 4