Lösungsvorschlag Exkurs Math - Aufgabe 1

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
public void pythagoras(){
   Scanner eingabe = new Scanner (System.in);
   System.out.print ("Geben Sie die Länge der ersten Seite ein: ");
   int a = eingabe.nextInt();
   System.out.print ("Geben Sie die Länge der zweiten Seite ein: ");
   int b = eingabe.nextInt();
   System.out.println("Die Länge der dritten Seite beträgt "+Math.sqrt(Math.pow(a,2)+Math.pow(b,2)));

}


Alternative Lösung:

public void pythagoras (){
System.out.print ("Geben Sie die Länge Kathete a ein: ");
double a=eingabe.nextDouble();
System.out.print ("Geben Sie die Länge Kathete b ein: ");
double b=eingabe.nextDouble();
if(a<0|| b<0) {System.out.println("Negative Eingabe nicht möglich! "); pythagoras () ;}
else{System.out.println("Die Länge der Hypothenuse des Dreiecks ist "+Math.hypot(a,b)+".");};}

Im Rumpf der if-Anweisung ruft sich bei einer falschen Eingabe nach dem entsprechenden Hinweis die Methode selbst auf (pythagoras()). Das hat den Vorteil, dass nach dem Fehlerhinweis sofort wieder eine Eingabeaufforderung auf der Konsole angezeigt wird.