Methoden Integer-Zahlen, die die Methode als Parameter entgegennimmt.

Kartoschka

Mitglied
A Schleifen in Java

In dieser Aufgabe geht es darum zu entscheiden, bei welchem
Fall welche der drei Schleifen am geeignetsten ist. Implementieren Sie die drei Unteraufgaben in jeweils einer
separaten Methode. Schreiben Sie eine einzige main-Methode, in der Sie das Ergebnis der Unteraufgaben jeweils
in einer Zeile auf dem Terminal ausgeben. Somit besteht die Ausgabe Ihres Programms aus genau 3 Zeilen mit
dem Ergebnis der jeweiligen Teilaufgabe. Dazu konnen Sie die Methode System.out.println() nutzen. Die
Anzahl der Nachkommastellen Ihrer Programmausgabe ist fur diese Aufgabe nicht relevant.

A.1 Produkt

Schreiben Sie eine Methode, in welcher das Produkt aller positiven Integer-Zahlen im abgeschlossenen Intervall
[n1; n2] berechnet wird. Die Zahlen n1 und n2 sind auch zwei positive Integer-Zahlen, die Ihre Methode als
Parameter entgegennimmt. Sie konnen davon ausgehen, dass n1 und n2 immer gultig sind und es stets gilt
n1 < n2. Geben Sie schlielich in der main-Methode beispielhaft das Ergebnis Ihrer Berechnung fur n1 = 6
und n2 = 11 auf dem Terminal aus.

A.2 Countdown

Implementieren Sie einen Zahler, der ganze Zahlen von einer Integer-Zahl n1 bis zur einer weiteren Integer-
Zahl n2 herunterzahlt. Ihre Methode nimmt die Zahlen n1 und n2 als Parameter entgegen. Geben Sie bei jedem
Zahlschritt den aktuellen Wert des Zahlers in einer einzigen Zeile separiert durch genau ein Leerzeichen auf
dem Terminal aus. Sowohl die Zahl n1, als auch die Zahl n2 mussen in Ihrer Ausgabe vorhanden sein. Sie
konnen davon ausgehen, dass n1 und n2 immer gultig sind und es stets gilt n1 > n2. Zudem brauchen Sie keine
Randfalle, wie z.B. einen Unterlauf, zu berucksichtigen. Geben Sie schlielich in der main-Methode beispielhaft
das Ergebnis Ihrer Berechnung fur n1 = 5 und n2 = 0 auf dem Terminal aus.

A.3 Zahlenfolge

Implementieren Sie eine Methode, in welcher beginnend mit einer positiven Integer-Zahl n1 alle positiven
ungeraden Zahlen, die kleiner als oder gleich einer weiteren positiven Integer-Zahl n2 sind, in einer einzigen
Zeile separiert durch genau ein Leerzeichen auf dem Terminal aus. Sind die Zahlen n1 und n2 auch positive
ungerade Zahlen, werden sie ebenfalls ausgegeben. Ihre Methode nimmt die Zahlen n1 und n2 als Parameter
entgegen. Sie konnen davon ausgehen, dass n1 und n2 immer gultig sind und es stets gilt n1 < n2. Zudem
brauchen Sie keine Randfalle, wie z.B. einen Ubererlauf, zu berucksichtigen. Geben Sie schlielich in der main-
Methode beispielhaft das Ergebnis Ihrer Berechnung fur n1 = 1 und n2 = 14 auf dem Terminal aus.

Wie nimmt man n1 und n2 in den jeweiligen Methoden als Parameter entgegen?
Die Ausgabe funktioniert, nur fehlt mir noch das mit dem Parameter.

So sieht mein Code momentan aus:

Java:
public class JavaSchleifen {
public static void main(String[] args) {

produkt();
countdown();
zahlenfolgen();

}

public static void produkt() {

int n1=6;
int n2=11;

int p=1;
while(n1<=n2) {
p=p*n1;
n1++;
}
System.out.println(p);
}

public static void countdown() {

int n1=5;
int n2=0;

do {
System.out.print(n1 +"  ");
n1--;
} while(n1>=n2);
System.out.println("");
}

public static void zahlenfolgen() {

int n1=1;
int n2=14;

for (int i=n1; i<=n2; ++i) {
if(i%2 !=0) {
    System.out.print(i +" ");
    }
}
}

}
 
Zuletzt bearbeitet von einem Moderator:

InfectedBytes

Top Contributor
Du solltest dich vielleicht nochmal mit den Grundlagen befassen
Java:
public void xyz(int n1, int n2) {

}

Und außerdem solltest du deinen code in code tags packen: [ code=java]...[ /code] (ohne leerzeichen)
 

Kartoschka

Mitglied
Danke ich wusste nicht wie ich das in code tags mache.

Das habe ich vorher auch ausprobiert aber ich kriege da einen Fehler:

Hier ist nochmal der veränderte Code:
Java:
public class JavaSchleifen {
public static void main(String[] args) {

produkt();
countdown();
zahlenfolgen();

}

public void produkt(int n1, int n2) {

n1=6;
n2=11;

int p=1;
while(n1<=n2) {
p=p*n1;
n1++;
}
System.out.println(p);
}

public void countdown(int n1, int n2) {

n1=5;
n2=0;

do {
System.out.print(n1 +"  ");
n1--;
} while(n1>=n2);
System.out.println("");
}

public void zahlenfolgen(int n1, int n2) {

n1=1;
n2=14;

for (int i=n1; i<=n2; ++i) {
if(i%2 !=0) {
    System.out.print(i +" ");
    }
}
}

}
 

Kartoschka

Mitglied
JavaSchleifen.java:4: error: method produkt in class JavaSchleifen cannot be applied to given types;
produkt();
^
required: int,int
found: no arguments
reason: actual and formal argument lists differ in length

Dann bekomme ich die Meldung, wenn ich alle Methoden auf static setze
 

Khal Drogo

Bekanntes Mitglied
Das liegt einfach daran, dass deine Funktion produkt zwei Parameter vom Typen Integer erwartet. Das ist übrigens der Fehlermeldung auch ohne weiteres zu entnehmen!

Du solltest deine Funktion dann vielleicht eher so schreiben:
Java:
public static void produkt(int n1, int n2) {
  // NICHT n1 = 6 oder n2 = 11! n1 und n2 werden durch den Funktionsaufruf festgelegt!
  // Berechnungen und Ausgabe hier durchführen..
}
Aufrufen würdest du die Methode dann mit
Java:
JavaSchleifen.produkt(6, 11); // "JavaSchleifen." musst du nicht schreiben, das ist optional, bei statischen Methoden jedoch empfohlen

Mit freundlichen Grüßen
Xelsarion
 

Neue Themen


Oben