Zahlenfolge

lamic31

Mitglied
Hallo ihr Lieben!
Ich bin total verzweifelt. Ich muss, um zur Klausur im Februar zugelassen zu werden, eine bestimmte Anzahl an Punkten bei den vorherigen Einreichungsaufgaben erreichen und diese hier lässt mich irgendwie verzweifeln, obwohl ich anfänglich dachte, dass sie einfach klingt. Kann mir jemand von euch helfen? Ich bin eine komplette Java-Anfängerin und habe auch das erste Mal in meinem Leben Berührungspunkte mit der Informatik, deshalb ist es sehr dringend. Hier die Aufgabe:

Vervollständigen Sie das Programm!

Gegeben ist folgende Zahlenfolge: 8, 9, 11, 14, 18, 23, 29, 36, 44, ...

Überlegen Sie, wie die nächste Zahl lauten würde. Nach welcher Regel wird jeweils die nächste Zahl berechnet?

Schreiben Sie eine Methode, die n Zahlen nach dieser Regel berechnet und auf der Konsole ausgibt. Die n-te Zahl soll zurückgegeben werden. n wird als Parameter an die Methode übergeben.

Beispiel: Wird als Parameter n=3 übergeben, wäre die Ausgabe: 8 9 11 und die Zahl 11 würde zurückgegeben werden.
 
Na dann überlege mit was du rechen musst um zur nächsten Zahl zukommen das. Das solltest du auch auf dem Papier ohne Programmierkenntnisse heraus bekommen.

Tipp vielleicht ist es eine Addition.

8 + ? = 9
9 + ? = 11
11 + ? = 14
 
Gegeben ist folgende Zahlenfolge: 8, 9, 11, 14, 18, 23, 29, 36, 44, ...
Relativ simpel zu sehen:

Code:
8    9    11    14    18    23    29    36    44
  +1   +2    +3    +4    +5    +6    +7    +8

Bedeutet fuer die naechste Zahl, muss man die vorherige Zahl mit einem Zaehler addieren der immer um Eins hochzaehlt. Was du also brauchst sind:

1. Eine Zahl (welche mit dem Wert "8" initialisiert wird).
2. Eine Schleife, welche von "1" bis zur Eingabe zaehlt.
3. Die Zahl mit dem Zaehler aus der Schleife addieren bei jedem Durchlauf.

Ich wuerde dir dazu Pseudo-Code schreiben, aber das ist so simpel dass Pseudo-Code quasi schon der Code selbst ist.
 
Dann fange mal an und zeige was du bis jetzt hast .
Eine Komplette Lösung wird hier keiner schreiben du willst ja was lernen.
 
Vielen Dank für die schnellen Antworten! Dass es sich dabei um eine Addition also quasi +1,+2,+3 usw. handelt, habe ich direkt rausbekommen. Mir ging es hauptsächlich um den Code dazu, da ich wirklich soo ein Anfänger bin was Java und BlueJ angeht 😅ich probiere es mal mit eurer Hilfe 🙂
 
Relativ simpel zu sehen:

Code:
8    9    11    14    18    23    29    36    44
  +1   +2    +3    +4    +5    +6    +7    +8

Bedeutet fuer die naechste Zahl, muss man die vorherige Zahl mit einem Zaehler addieren der immer um Eins hochzaehlt. Was du also brauchst sind:

1. Eine Zahl (welche mit dem Wert "8" initialisiert wird).
2. Eine Schleife, welche von "1" bis zur Eingabe zaehlt.
3. Die Zahl mit dem Zaehler aus der Schleife addieren bei jedem Durchlauf.

Ich wuerde dir dazu Pseudo-Code schreiben, aber das ist so simpel dass Pseudo-Code quasi schon der Code selbst ist.
Voll lieb, dankeschön 🙂 bei mir hakt es nur teilweise schon bei einfachen Codes 😅aber ich werde es mal probieren..
 
public int berechneFolge(int n)
{
n = 10;
int anfangszahl = 8;

for (int i = 1; i <= n; i++){

}

}

Das ist alles, was ich bisher irgendwie hinbekommen habe.. ich weiß nur nicht genau wie ich die Zahl mit dem Zähler aus der Schleife addieren soll und ob das mit der 8 überhaupt richtig ist 🙈
 
Sieht doch gut aus, mit Ausnahme dass du den Parameter n ueberschreibst in der Methode, aber das ist was anderes. Ich wuerde i noch umbenennen in "zaehler", dann tust du dir auch etwas leichter beim ueberlegen.

Eine einfache Uebersicht ueber alle Operatoren in Java gibt es hier. Aber die Antwort ist um ein vielfaches simpler als du wahrscheinlich denkst:

Java:
a = a + b;

Du musst ja nur die eine Zahl zu der Anderen zaehlen, und das Ergebnis dann zuweisen auf die erste Zahl. Dann musst du das noch bei jedem Durchlauf ausgeben, und die Zahl am Ende der Funktion retournieren.
 
Supi, das mit dem Zähler habe ich jetzt (glaub ich) verstanden 😄Mein Code sieht jetzt so aus, ich bekomme aber nur 1/4 Punkten.😬

public int berechneFolge(int n)
{
int z = 53;
int anfangszahl = 8;

for (int i = 1; i <= n; i++){
anfangszahl = anfangszahl + i;
System.out.println(n);
}
return z;
}

wo genau liegt noch der Fehler?😩
 
Also einige Fragen die dir helfen koennten:

1. Was ist "z"?
2. Was musst du jeden Schleifendurchlauf ausgeben?
3. Was musst du retournieren aus der Funktion?
 
int z = 53;
Ist ja das Ergebnis für n = 9 aber das wisst du ja berechnen und nicht schon vorgeben.

In welcher Variablen ist das Ergebnis was du zurückgeben sollst?
Welche Variable sollst du zwischen durch ausgeben?

Ps. Poste Code bitte auch in den Codeblock zu finden unter " </> " im Forum
 

Neue Themen


Zurück
Oben