Double JOptionpane e equals

3 respostas
E

Gente é o seguinte criei uma constante com o nome sim, e atribui um valor. Mas eu quero fazer o seguinte quero comparar minha constante com o digitado no JOptiopane se for igual quero somar o valor da constante com outro, e se for diferente quero que não aconteça nada, alguém sabe?

SERÁ QUE ESTOU NO CAMINHO CERTO?

import javax.swing.JOptionPane;

public class Caixa {

 public static void main(String[] args) {

Double sim = new Double (50);
  
String sindicato = JOptionPane.showInputDialog(null, "Paga Sindicato?" + "\n" + " Responda Sim ou Nao ");
if (sim.equals(sindicato))        

{ System.exit(0); }  

double s = sim.doubleValue();

  
 }
}

3 Respostas

ViniGodoy

Não. O Java sempre trabalha com o conteúdo das variáveis, não com seu nome.

O correto é fazer assim:
import javax.swing.JOptionPane;

public class Caixa {
    public static void main(String[] args) {
        double valor = 50.0;
        String sindicato = JOptionPane.showInputDialog(null, "Paga Sindicato?" + "\n" + 
            " Responda Sim ou Nao ");
        if ("sim".equals(sindicato)) { 
            System.exit(0); 
        }  
        System.out.println(valor);
 }
}
Observe que seu código está saindo caso ele digite "sim". Caso o objetivo fosse continuar, simplesmente acrescente a ! na frente da comparação:
if (!"sim".equals(sindicato)) {
E

A verdade é que eu não quero imprimir se o resultado for sim, eu quero somar, e se a resposta for não quero que soma.

Obrigado pela atenção.

ViniGodoy

Evandro Lauro:
A verdade é que eu não quero imprimir se o resultado for sim, eu quero somar, e se a resposta for não quero que soma.

Obrigado pela atenção.

Eu só mostrei como testar corretamente a resposta. Faça o que quiser no lugar daquele println, como por exemplo, somar a variável valor a outra variável.

Criado 1 de março de 2014
Ultima resposta 3 de mar. de 2014
Respostas 3
Participantes 2