Wir haben eine Aufgabe bekommen, wo ich seit Stunden nicht weiter komme. Wir sollten zunächst einen einfachen Rechner (nach seinen Vorgaben) programmieren, was mit problemlos gelungen ist. Den Code dazu werde ich euch einfügen.
Dazu sollen wir folgendes machen:
a.
Die Methode double summe(int, int) soll die Summe aller Ganzzahlen von der ersten bis zur zweiten Ganzzahl ausgeben. Dabei soll sie auf die bereits bestehende Methode addiere(double, double) zugreifen! Es soll egal sein, in welcher der beiden Parameter größer ist. Sie soll also nicht „selber rechnen
b.
Die Methode double fakultaet(int) soll die Fakultät des Übergabeparameters zurückgeben. Dabei soll sie auf die bereits bestehende Methode multipliziere(double, double) zugreifen! Sie soll also nicht „selber rechnen
c.
Die Methode double fakultDifferenz(int, int) soll die Differenz zweier Fakultäten zurückgeben und ebenfalls nicht selber rechne
d. Schreiben Sie eine Klasse Teste. Diese Klasse soll eine Methode boolean testen() beinhalten, die mit geeigneten Parametern testet, ob die drei oben genannten Funktionen funktionieren. Es dürfen hier noch keine Unit-Tests genutzt werden.
a und b habe ich versucht, die anderen beiden noch nicht angefangen.
Ich verstehe nicht ganz wie ich auf die Variablen der Method addiere(double, double) und fakultaet(int) zugreifen soll..
Noch dazu hat er gesagt dass die Codes ungefähr so aussehen sollen:
public double summe (int a, int b) {
int ergeb;
....
ergeb = addiere(a, b);
.....
}
Würde mich sehr um Hilfe freuen! Danke schonmal!
public class Rechner
{
private double ergeb, a, b;
public Rechner()
{
ergeb = 0;
}
/** a und b können jeweils ein Wert des Types double vergeben oder ein neuer Wert gegeben werden.
* Eigentlich war diese Methode in zwei geteilt, ich habe diese aber in eine zusammengefasst.
* Trotzdem macht diese Methode in meinen Augen nicht viel Sinn,
* da bei jeder neuen Rechenoperation sowieso neue Werte vergeben werden.
*/
public void setA(double neuerAWert){
a = neuerAWert;
}
public void SetB(double neuerBWert){
b = neuerBWert;
}
//Mit den folgenden Methoden kann man einen Wert für jeweils a und b vergeben.
//Mit diesen wird dann die ausgewählte Rechenoperation durchgeführt und das Ergebnis wird ausgegeben.
public double addiere(double a, double b){ // Methode zur Addition der Werte
ergeb = a + b;
return ergeb;
}
public double summe(){
int ergeb;
for (int a = 1; a <= ergeb; a++){
ergeb = (int)addiere(a, b);
System.out.println(ergeb);
}
return ergeb;
}
public double berechneFakultaet(int f) {
int fakultaet = 1; //außerhalb der Schleife anlegen und Wert zuweisen
int faktor = 1;
while (faktor <= f) {
fakultaet = fakultaet * faktor;
faktor++;
}
System.out.println("Die Fakultät von " + f + " ist: " + fakultaet);
return fakultaet;
}
public double subtrahiere(double a, double b){ // Methode zur Subtraktion der Werte
ergeb = a - b;
return ergeb;
}
public double multipliziere(double a, double b){ // Methode zur Multiplikation der Werte
ergeb = a*b;
return ergeb;
}
public double dividiere(double a, double b){ // Methode zur Division der Werte
if (a == 0 || b == 0) { //if-Anweisung: falls einer der Variablen den Wert 0 hat, wird eine Fehlermeldung ausgegeben.
System.err.println();
System.err.println ("Fehler! Sie haben versucht mit 0 zu teilen."); // Alternative print Anweisung, Error wird ausgegeben
return ergeb = 0;
}
else //Ansonsten wird das Ergebnis einer "normalen" Rechnung (ohne "0" als Wert) ausgegeben.
ergeb = a/b;
return ergeb;
}
public double getErgebnis(){ // Mit dieser Methode kann das Ergebnis nochmal aufgerufen werden.
System.out.println("Das vorherige Ergebnis lautet: " + ergeb + "."); // Das Ergebnis der letzten Rechenoperation wird angezeigt.
return ergeb;
}
}
Dazu sollen wir folgendes machen:
a.
Die Methode double summe(int, int) soll die Summe aller Ganzzahlen von der ersten bis zur zweiten Ganzzahl ausgeben. Dabei soll sie auf die bereits bestehende Methode addiere(double, double) zugreifen! Es soll egal sein, in welcher der beiden Parameter größer ist. Sie soll also nicht „selber rechnen
b.
Die Methode double fakultaet(int) soll die Fakultät des Übergabeparameters zurückgeben. Dabei soll sie auf die bereits bestehende Methode multipliziere(double, double) zugreifen! Sie soll also nicht „selber rechnen
c.
Die Methode double fakultDifferenz(int, int) soll die Differenz zweier Fakultäten zurückgeben und ebenfalls nicht selber rechne
d. Schreiben Sie eine Klasse Teste. Diese Klasse soll eine Methode boolean testen() beinhalten, die mit geeigneten Parametern testet, ob die drei oben genannten Funktionen funktionieren. Es dürfen hier noch keine Unit-Tests genutzt werden.
a und b habe ich versucht, die anderen beiden noch nicht angefangen.
Ich verstehe nicht ganz wie ich auf die Variablen der Method addiere(double, double) und fakultaet(int) zugreifen soll..
Noch dazu hat er gesagt dass die Codes ungefähr so aussehen sollen:
public double summe (int a, int b) {
int ergeb;
....
ergeb = addiere(a, b);
.....
}
Würde mich sehr um Hilfe freuen! Danke schonmal!