Bueno, estoy iniciando a programar en java y estoy viendo las clases y herencias, tengo un problema en el codigo, Me da el error siguiente:
Exception in thread "main" java.lang.NullPointerException
at paquete2.Calcular.<init>(Calcular.java:8)
at paquete2.Principal.main(Principal.java:14)
Este es la primera clase:
Código:
package paquete2;
public class Calcular{
private Circunferencia valor;
public Calcular(int r)
{
valor.establecer(r);
}
public float perimetro()
{
float p;
p=(float) (2*Math.PI*Math.pow(valor.obtener(), 2));
return p;
}
public float area()
{
float a;
a=(float) (Math.PI*Math.pow(valor.obtener(), 2));
return a;
}
public String toString()
{
String cadena="";
cadena=valor.obtener()+"\t"+this.perimetro()+"\t"+this.area()+"\n";
return cadena;
}
}
Esta es la segunda clase:
Código:
package paquete2;
public class Circunferencia {
private int radio;
public Circunferencia()
{
this.radio=0;
}
public void establecer(int r)
{
this.radio=r;
}
public int obtener()
{
return radio;
}
}
y el main:
Código:
package paquete2;
import javax.swing.JOptionPane;
public class Principal {
public static void main (String args[])
{
Circunferencia p=new Circunferencia();
int r,op;
String imp="";
do{
r=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el radio de la circunferencia: "));
Calcular e = new Calcular(r);
imp+=e.toString();
System.out.print(imp);
op=Integer.parseInt(JOptionPane.showInputDialog("Desea Continuar?\n1. Si\n2. No "));
}while(op==1);
}
}
Me aparece el error en las siguientes lineas:
Código:
Calcular e = new Calcular(r);
//esta es de la clase del main
Código:
valor.establecer(r);
//esta es de la clase calcular
Alguien me puede ayudar? Gracias por su atencion