Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/MathematischeMethoden

Im Folgenden wollen wir einige (mathematische)-Methoden programmieren.

  • Lege eine neue Klasse "MatheAufgabe" an.
  • Füge eine public static void main(String[] arguments) Methode hinzu.
  • Deklariere innerhalb der main-Methode eine double-Variable.
  • Belege diese Variable dem Wert 5.0/3.0 und gib den Inhalt der Variable auf dem Bildschirm aus.
  • Schreibe nun eine Methode public static double add(double x, double y), die die Summe der beiden übergebenen Zahlen x und y zurückgibt.
    • Teste deine Methode mit verschiedenen Eingaben wie z.B.
System.out.println( " 1.0 + 2.0 = " + add ( 1.0 , 2.0 ) );
double x = 5.0;
System.out.println( " " + x + " + 2.0 = " + add ( x , 2.0 ) );
System.out.println( " 2.0 + " + x + " = " + add ( 2.0 , x ) );
x = add ( x , 2.0 );
System.out.println( x );

  • Schreibe nun eine Methode sub, welche die Differenz zweier übergebener Werte zurückgibt.
    • Teste deine Methode wie eben!
    • Überprüfe, ob x == ( x - y ) + y gilt! (natürlich mit deinen sub und add-Methoden)
  • Schreibe nun eine mul-Methode für double.
    • Benutze dazu nicht den operator *, sondern deine gerade geschriebene add-Methode.
    • Teste deine Methode wie eben und überlege dir weitere Testfälle (bsp. 2*0 oder 3*-1, usw.)
  • Schreibe nun eine public static double pow ( int basis, int exponent ), die basis hoch exponent zurückgibt. pow( 2,3 ) wurde z.B. 2^3=8 zurückgeben.
    • Benutze auch hier weder *, noch Math.pow(). Nutze stattdessen deine gerade geschriebene mul-Methode.
    • Teste deine Methode wie gehabt!
      Was liefert deine Methode wenn der Exponent 0 ist?
      Was liefert deine Methode wenn der Exponent negativ ist?



Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)

Daniel

Eine mul-Methode mit doubles, die add benutzt? Mit integern geht das ja, aber wie soll das mit doubles funktionieren? Ich nehme jetzt an, doubles können auch Dezimalstellen haben...