Ich habe hier meine Exceptions und finde das Problem nicht.
Ich habe eine Klasse Form von der alle anderen erben.
Danach Polygon . Polygon nimmt ein Array von Punkten entgegen.
Viereck und Dreieck nehmen Punkte entgegen. Und Punkt ist die letzte Klasse.
java.lang.NullPointerException
at Polygon.area(Polygon.java:45)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:46)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:46)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:46)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:50)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:50)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
Ich habe eine Klasse Form von der alle anderen erben.
Danach Polygon . Polygon nimmt ein Array von Punkten entgegen.
Viereck und Dreieck nehmen Punkte entgegen. Und Punkt ist die letzte Klasse.
java.lang.NullPointerException
at Polygon.area(Polygon.java:45)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:46)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:46)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:46)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:50)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
java.lang.NullPointerException
at Polygon.area(Polygon.java:50)
at Form.toString(Form.java:53)
at Polygon.<init>(Polygon.java:13)
at Dreieck.<init>(Dreieck.java:12)
at Test.starteTest(Test.java:41)
Java:
public class Form
{
// instance variables - replace the example below with your own
private static int id=0;
private String typ;
private int obj;
private String properties;
public Form(){
id++;
obj=id;
}
public int getId(){
return this.obj;
}
public String getTyp(){
return this.typ;
}
public String setTyp(String typ1){
return this.typ=typ1;
}
public String getProperties(){
return this.properties;
}
public String setProperties(String prop){
return this.properties=prop;
}
public double area(){
return 0.0;
}
public double outline(){
return 0.0;
}
public String toString(){
return this.area()+ " " + this.outline()+ " "+ this.typ + " " + properties + " " + "]";
}
}
Java:
public class Polygon extends Form
{
// instance variables - replace the example below with your own
private Punkt[] array;
{super.toString();}
String s1 ="Polygon";
public Polygon(Punkt[] aP){
super();
array= new Punkt[aP.length];
for(int i=0;i<aP.length;i++){
array[i]=aP[i];
}
super.setTyp(s1);
super.setProperties(this.sum(aP));
}
public Polygon(Polygon p){
this.array=p.getArray() ;
super.setTyp("Polygon");
super.setProperties(this.sum(p.getArray()));
}
public String sum(Punkt[] p){
String s="";
for(int i=0; i<p.length;i++){
s+=p[i]+",";
}
return s;
}
public Punkt[] getArray(){
return array;
}
public double area(){
double s=0;
for(int i=0; i<array.length-1;i++){
if(array[i]==null)
break;
s+=(array[i].getY()+array[i+1].getY())*(array[i].getX()-array[i+1].getX());
}
s+=(array[array.length-1].getY()+array[0].getY())*(array[array.length-1].getX()-array[0].getX());
if(s>=0){
s=s/2;
}else{
s=-s/2;
}
return s;
}
public double outline(){
double o=0;
for(int i=0; i<array.length-1;i++){
if(array[i]==null)
break;
o+=array[i].distance(array[i+1]);
}
o+=array[array.length-1].distance(array[0]);
return o;
}
}
Java:
public class Viereck extends Polygon
{
// instance variables - replace the example below with your own
{super.toString();}
public Viereck(Punkt p1,Punkt p2,Punkt p3,Punkt p4){
super(new Punkt[]{p1,p2,p3,p4});
String s="Dreieck";
this.setTyp(s);
this.setProperties(this.sum(new Punkt[]{p1,p2,p3,p4}));
}
}
Java:
public class Dreieck extends Polygon//ngi33
{
// instance variables - replace the example below with your own
public Dreieck(Punkt p1, Punkt p2, Punkt p3){
super(new Punkt[]{p1,p2,p3});
String s="Dreieck";
setTyp(s);
setProperties(this.sum(new Punkt[]{p1,p2,p3}));
System.out.println("Kein Dreieck");
}
}
Java:
public class Punkt extends Form
{
private double x;
private double y;
public Punkt(double a, double b){
this.x=a;
this.y=b;
super.setTyp("Punkt");
super.setProperties(","+ x + "," + y);
}
public Punkt(Punkt point){
this.x=point.getX();
this.y=point.getY();
super.setTyp("Punkt");
super.setProperties(","+ x + "," + y);
}
public double getX(){
return this.x;
}
public double getY(){
return this.y;
}
public double distance(Punkt p){
return Math.sqrt(((x-p.getX())*(x-p.getX())) +((y-p.getY())*(y-p.getY())));
}
public String toString(){
return "Punkt[" + getId() + ","+this.x+","+this.y+"]";
}
// instance variables - replace the example below with your own
}
Zuletzt bearbeitet: