Problema com JOptionPane

7 respostas
Scobar20

Bom dia a todos

Pessoal meu erro vai ser facil para vocês, não sei o que tem de errado com meu programa que não consigo fazer uma coisa básica de tudo. É o seguinte o programa primeiro pergunta "Gastou com combustivel?", ai o usuário responde (ex) nao, então aparece uma nova pergunta "com o que gastou?" ai o usuário responde (ex) "Freio" após a resposta do usuário deveria aparecer a mensagem "você gastou com freio", porém o que aparece no lugar da palavra freio é NULL. O que está errado? Por que não aparece o bendito FREIO??? kk

vlwwwww

import javax.swing.JOptionPane;

public class Carro {
	
	public void Gasto()
		{
		String resul;
		int val = 0;
		String outro = null;
		
		resul = JOptionPane.showInputDialog("Gastou com combustivel?");
		
			if (resul.equals("sim"))
			{
		JOptionPane.showInputDialog("Quanto você gastou?", val);
			}		
		else 
			if (resul.equals("nao"))
			{
				
				JOptionPane.showInputDialog("Com o que gastou?", outro);
			
			JOptionPane.showMessageDialog(null, "você gastou com: "+ outro);
			

   			}
		}
}
public class CarroTeste {
	public static void main(String args[]){
		Carro valor = new Carro();
			valor.Gasto();
	}
}

7 Respostas

lina

Oi,

Realmente é simples…

Você não atribuiu o resultado da pergunta para uma variável. Quando você fez:

resul = JOptionPane.showInputDialog("Gastou com combustivel?");

A variável result recebeu o conteúdo digitado. Porém quando você fez:

JOptionPane.showInputDialog("Com o que gastou?", outro);

o resultado da pergunta não está sendo atribuída. deveria ser:

outro = JOptionPane.showInputDialog("Com o que gastou?");

Tchauzin!

Carlos_ds_jar

Faz assim:

import javax.swing.JOptionPane;

public class Main2 {

    public static void main(String args[]) {
        String resul;
        int val = 0;
        String outro = null;

        resul = JOptionPane.showInputDialog("Gastou com combustivel?");

        if (resul.equals("sim")) {
            JOptionPane.showInputDialog("Quanto você gastou?", val);
        } else if (resul.equals("nao")) {

            outro = JOptionPane.showInputDialog("Com o que gastou?"); //Atribui o valor da resposta à variável outro

            JOptionPane.showMessageDialog(null, "você gastou com: " + outro);


        }
    }
}
Scobar20

Meu Deus. Só não vou abandonar porque gosto muito mesmo de programar. Não ver um erro destes foi grotescooooo…DANNNNNN pra mim…kkkk

vlw Pessoal sabia que podia contar com vocês

Carlos_ds_jar

Ei lina por favor dá uma olhada na sua caixa de MP :slight_smile:

lina
Scobar20:
Meu Deus. Só não vou abandonar porque gosto muito mesmo de programar. Não ver um erro destes foi grotescooooo...DANNNNNN pra mim...kkkk

vlw Pessoal sabia que podia contar com vocês

Oi,

Só uma dica... no lugar de utilizar:

resul.equals("sim")

e

resul.equals("não")
comece a utilizar as constantes definidas na classe JOptionPane:
resul.equals(JOptionPane.YES_OPTION)

e

resul.equals(JOptionPane.NO_OPTION)

Tchauzin!

Scobar20

Beleza Lina Obrigado pela dica

Carlos_ds_jar

Boa noite Scobar20, rapaz se vc ja sanou sua duvida vai lá no primeiro tópico e marca como resolvido :idea:

Criado 7 de agosto de 2010
Ultima resposta 7 de ago. de 2010
Respostas 7
Participantes 3