Lösungsvorschlag Exkurs Math - Aufgabe 1: Unterschied zwischen den Versionen
Aus ComeniusWiki
Zeile 6: | Zeile 6: | ||
System.out.print ("Geben Sie die Länge der zweiten Seite ein: "); | System.out.print ("Geben Sie die Länge der zweiten Seite ein: "); | ||
int b = eingabe.nextInt(); | 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))); | + | if(a<0|| b<0) {System.out.println("Negative Eingabe nicht möglich! "); pythagoras () ;} |
− | + | else {System.out.println("Die Länge der dritten Seite beträgt "+Math.sqrt(Math.pow(a,2)+Math.pow(b,2)));} | |
} | } | ||
</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.<br/> | ||
+ | Man könnte das Ergebnis auch zuerst in eine Variable schreiben lassen und dann ausgeben. Dies empfiehlt sich bei komplexen Berechnungen: | ||
+ | |||
+ | <pre> | ||
+ | double c = Math.sqrt(Math.pow(a,2)+Math.pow(b,2)); | ||
+ | System.out.println("Die Länge der dritten Seite beträgt "+c); | ||
+ | </pre> | ||
Alternative Lösung: | Alternative Lösung: | ||
Zeile 23: | Zeile 30: | ||
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> | ||
− | |||
− |
Version vom 16. Oktober 2014, 12:00 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(); if(a<0|| b<0) {System.out.println("Negative Eingabe nicht möglich! "); pythagoras () ;} else {System.out.println("Die Länge der dritten Seite beträgt "+Math.sqrt(Math.pow(a,2)+Math.pow(b,2)));} }
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.
Man könnte das Ergebnis auch zuerst in eine Variable schreiben lassen und dann ausgeben. Dies empfiehlt sich bei komplexen Berechnungen:
double c = Math.sqrt(Math.pow(a,2)+Math.pow(b,2)); System.out.println("Die Länge der dritten Seite beträgt "+c);
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)+".");};}