Ich möchte eine Klasse Dreieck schreiben, die testet, ob 3 gegebene Seitenlängen ein Dreieck gegeben.
Wenn ja, will ich die Fläche berechnen und zurückgeben. Wenn nein, will ich eine eigens erstellte Exception NotATriangleException werfen. Mein Programm sieht zur Zeit so aus, aber irgendwo muss noch ein Fehler stecken...
Wenn ja, will ich die Fläche berechnen und zurückgeben. Wenn nein, will ich eine eigens erstellte Exception NotATriangleException werfen. Mein Programm sieht zur Zeit so aus, aber irgendwo muss noch ein Fehler stecken...
Java:
public class Dreieck {
public static double calculateArea(double a, double b, double c) throws NotATriangleException{
double ergebnis =0;
double s=0;
//Pruefe, ob die Seitenlaengen echt positiv sind:
if(a<=0.0 || b<=0.0 || c<=0.0){
throw new NotATriangleException("Mindestens eine Seitenlaenge ist kleiner oder gleich Null, das Dreieck ist nicht konstruierbar!");
}
//Pruefe, ob Dreieck konstruierbar ist: Nein: Dann NotATriangleException, Ja: Flaechenberechnung
//Fall1: Dreieck nicht konstruierbar:
else if( (a+b)<=c && (a+c)<=b && (b+c)<=a){
throw new NotATriangleException("Dreieck ist nicht konstruierbar!");
}
//Fall2: Dreieck konstruierbar, Flaechenberechnung:
else{
s = (a+b+c)/2;
ergebnis = Math.sqrt(s*(s-a)*(s-b)*(s-c));
return ergebnis;
}
}
}
Java:
public class NotATriangleException extends Exception {
public NotATriangleException() {
super();
}
public NotATriangleException(String message){
super(message);
}
}