O que ta errado?

To tentando aprender OO e fiz esse codigo pra testar
funcionou certinho, mas o que ta errado?

public class Esfera {

	private double pi = 3.14;
	private double raio = 2;
	private double calc;
	
	
	

	public void setResultado() {
		calc = 4 * pi * (raio * raio);
	}

	public double getResultado() {

		return calc;
	}

}
public class EsferaTeste {

	
	public static void main(String[] args) {
		
		Esfera calcular = new Esfera();
		
		calcular.getResultado();
		calcular.setResultado();
		
		System.out.println("A area é "+ calcular.getResultado());
		

	}

}

Gente e outra duvida como faço para colocar para o usuario inserir o valor
pelo JOptionPane?
nossa to quase desistindo de aprender programar,nunca consigo
aprender as coisa direito.Já tentei ler o livro use a cabeça JAVA mas esse livro é muito ruim
para intender,tem muita enrolação,só to conseguindo intender o basico do java com a apostila do caelum.
Mas vocês podem achar que é facil programar,mas não consigu aprender nem VB,java foi o maximo que consegui chegar perto
de intender o que é programação,mas eu tenho muita duvidas,que não tenho ninguem pra me ajudar que sempre acabo desistindo de
aprender.Mas eu sempre volto porque tenho muita vontade aprender a programar,ai eu sempre desisto de novo e quebro a cabeça,a aff.

O que você quer dizer com “o que tá errado?”

Qual o problema que está ocorrendo ao executar seu código ?

[quote=Rodrigo Sasaki]O que você quer dizer com “o que tá errado?”

Qual o problema que está ocorrendo ao executar seu código ?[/quote]

erro nenhum,quero
saber se isso que eu fiz no método foi gambiarra
ou como seria o certo.

Ah, entendi.

Normalmente os getters e setters servem para te dar acesso a membros privados da sua classe Exemplo:[code]public class Pessoa{

private String nome;

private int idade;

public void setNome(String nome){
    this.nome = nome;
}

public String getNome(){
    return nome;
}

public void setIdade(int idade){
    this.idade = idade;
}

public int getIdade(){
    return idade;
}

}[/code] os métodos setIdade e setNome simplesmente recebem um valor que será atribuido aos atributos idade e nome.
Normalmente não fazem nenhuma manipulação ou cálculo.

E quanto a receber valores com o JOptionPane é muito simples.

Basta atribuir o retorno do método showInputDialog a sua variável, segue exemplo: public static void main(String[] args){ String texto = JOptionPane.showInputDialog("Digite seu nome"); System.out.println(texto); }

[quote=Rodrigo Sasaki]E quanto a receber valores com o JOptionPane é muito simples.

Basta atribuir o retorno do método showInputDialog a sua variável, segue exemplo: public static void main(String[] args){ String texto = JOptionPane.showInputDialog("Digite seu nome"); System.out.println(texto); }[/quote]

putz cara eu tinha feito uma gambiarra do caramba
então quer dizer que para fazer calculo tem que ser desse jeito aqui?

import javax.swing.JOptionPane;
public class EsferaTeste {
	

	public static void main(String[] args) {

		final double pi = 3.14;
		double raio;
		raio = Double.parseDouble(JOptionPane.showInputDialog("Digite o raio da Esfera \n Obs: o raio é a metade do diâmetro"));
		
		double area =  4 * pi * (raio * raio);
		double volume =  4 * pi * (raio * raio * raio) / 3;
		
		
		JOptionPane.showMessageDialog(null, "A área da esfera  é " + area);
		JOptionPane.showMessageDialog(null, "O Volume da esfera  é " + volume);

	}
}

Talvez, isso seja útil:
Você pode alterar o ícone do JOptionPane assim:

String nome = JOptionPane.showInputDialog(null, "Digite o valor:",
                    "Título da caixa de diálogo", JOptionPane.QUESTION_MESSAGE);

Fica legal! :smiley:

Tenho uma sugestão: aprenda a programar sem se preocupar com interface gráfica. Vá tentando implementar algoritmos e imprima o resultado no console pra ver se está correto.