Lösungsvorschlag Exkurs Math - Aufgabe 1: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
Zeile 23: Zeile 23:
 
else{System.out.println("Die Länge der Hypothenuse des Dreiecks ist "+Math.hypot(a,b)+".");};}
 
else{System.out.println("Die Länge der Hypothenuse des Dreiecks ist "+Math.hypot(a,b)+".");};}
 
</pre>
 
</pre>
 +
 +
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.

Version vom 16. Oktober 2014, 12:56 Uhr

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.