Aufgabe: Arrayliste ausgeben, stimmt es so?

Status
Nicht offen für weitere Antworten.

babuschka

Top Contributor
Die Aufgabe lautet:

Fibunacci-Zahlen lassen sich rekursiv nach der Formel
• Fib(1) = Fib(2) = 1
• Fib(n) = Fib(n-1) + Fib(n-2)
berechnen. Schreiben Sie ein Programm, das eine ganze Zahl i von der Tastatur einliest und

die ersten i Fibunacci-Zahlen in einem Array abspeichern. Anschließend geben Sie das Array aus.

Meine Programmcode:

Java:
/*
 package uebung_5_5;

import HfT.Eingabe;

/**
 *
 * @author Onuncu_Ay
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        double formel;
        int n;
        int j[]=new int[6];

        System.out.println("Geben Sie eine Zahl ein: ");
        n=Eingabe.readIntegerValue();

        for(int i=1; i<j.length ;i++){
        formel=(n-1)+(n-2);
        n++;
        System.out.println(i+". Die ersten Fibunacci-Zahlen: "+formel);
        }
         for(int c=1; c<j.length; c++){
        System.out.println( j[c]);
        break;
        }
    }

}



Nun mein Problem:
Ich weis leider nicht ob ich die Frage richtig verstanden habe. Ich habe das Programm geschrieben und es funktioniert auch soweit. Aber ich weis nicht ob die Aufgabe somit erfüllt wird. Könnte mir vielleicht einer kurz sagen ob ichs richtig gemacht habe? Denn mit Array habe ich schwierigkeiten 🙁 versteh es nicht so ganz. DANKE IM VORAUS....
 
Zuletzt bearbeitet von einem Moderator:
erstmal ohne an die Aufgabe zu denken:
du hast ein Array j der Länge 6, aus welchem Grund ist das im Programm?
am Ende gibst du es aus, ja, aber da steht doch nix drin, und dann die Länge 6, wieso nicht 4 oder 8 oder 48379875?

jede Sache muss einen Grund haben, zumindest in Java-Programmen, da macht man nix einfach mal so aus Spaß

-----

dann noch zur Aufgabe:
Zeile 27 widerspricht ihr total, du gibst die Fibonacci-Zahlen direkt aus statt sie 'in einem Array zu speichern und später auszugeben'

die Formel für die Fibonacci-Zahlen ist auch falsch, berechne sie bitte auf dem Papier selber bzw. schlage die Reihe bei google nach
 
Fang nochmal von vorn an. Hier die Schritte:

- Zahl n einlesen.
- Array mit dieser Länge erzeugen: int[] array = new int[n];
- Die erste und zweite Stelle im Array kannst du schonmal mit 1 belegen, wie es die Formel vorgibt (nicht vergessen, Arrays fangen bei index 0 an):
array[0] = 1;
array[1] = 1;
- Eine Schleife schreiben, die von 2 bis (n-1) geht und die restlichen Zahlen im Array nach der gegebenen Rekursionsformel berechnet
- Kleiner Trick zur Ausgabe: Um aus eine Array einen "ordentlichen" String zu machen, gibt es schon eine fertige Funktion java.util.Arrays.toString(array)
 
erstmal ohne an die Aufgabe zu denken:
du hast ein Array j der Länge 6, aus welchem Grund ist das im Programm?
am Ende gibst du es aus, ja, aber da steht doch nix drin, und dann die Länge 6, wieso nicht 4 oder 8 oder 48379875?

jede Sache muss einen Grund haben, zumindest in Java-Programmen, da macht man nix einfach mal so aus Spaß

-----

dann noch zur Aufgabe:
Zeile 27 widerspricht ihr total, du gibst die Fibonacci-Zahlen direkt aus statt sie 'in einem Array zu speichern und später auszugeben'

die Formel für die Fibonacci-Zahlen ist auch falsch, berechne sie bitte auf dem Papier selber bzw. schlage die Reihe bei google nach

Eine Frage was ist eigentlich mit Fibonacci-Zahlen gemeint? Was versteht man darunter ich vesteh nicht was das sein soll. Deshalb kann ich auch nicht so richtig prgorammieren-...
 
Fang nochmal von vorn an. Hier die Schritte:

- Zahl n einlesen.
- Array mit dieser Länge erzeugen: int[] array = new int[n];
- Die erste und zweite Stelle im Array kannst du schonmal mit 1 belegen, wie es die Formel vorgibt (nicht vergessen, Arrays fangen bei index 0 an):
array[0] = 1;
array[1] = 1;
- Eine Schleife schreiben, die von 2 bis (n-1) geht und die restlichen Zahlen im Array nach der gegebenen Rekursionsformel berechnet
- Kleiner Trick zur Ausgabe: Um aus eine Array einen "ordentlichen" String zu machen, gibt es schon eine fertige Funktion java.util.Arrays.toString(array)

wie soll ich bei der schleife das hinschreiben dass es von 2 bis n-1 geht?
 
Fang nochmal von vorn an. Hier die Schritte:

- Zahl n einlesen.
- Array mit dieser Länge erzeugen: int[] array = new int[n];
- Die erste und zweite Stelle im Array kannst du schonmal mit 1 belegen, wie es die Formel vorgibt (nicht vergessen, Arrays fangen bei index 0 an):
array[0] = 1;
array[1] = 1;
- Eine Schleife schreiben, die von 2 bis (n-1) geht und die restlichen Zahlen im Array nach der gegebenen Rekursionsformel berechnet
- Kleiner Trick zur Ausgabe: Um aus eine Array einen "ordentlichen" String zu machen, gibt es schon eine fertige Funktion java.util.Arrays.toString(array)

also ich versteh es nicht mehr könnte einer das mal korrigieren und wieder zusenden????Wäre echt nett DANKE!

Java:
package uebung_5_5;

import HfT.Eingabe;

/**
 *
 * @author Onuncu_Ay
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        double formel;
        int n;
        int[] array = new int[n];
        array[0] = 1;
        array[1] = 1;

        System.out.println("Geben Sie eine Zahl ein: ");
        n=Eingabe.readIntegerValue();

        for(int i=1; 2<n-1 ;i++){
        formel=(n-1)+(n-2);
        n++;
        System.out.println(i+". Die ersten Fibunacci-Zahlen: "+formel);
        }
        }
    }
 
Hier wird höchstens Hilfestellung bei Hausaufgaben gegeben, aber wohl kaum fertige Lösungen. Es sei denn, Du willst es in der Jobbörse versuchen, dann musst Du allerdings das Portemonnaie bereithalten. Ansonsten ist schon ein bißchen Eigeninitiative angesagt, Hinweise gab es schon genug. Und im 10 min-Takt braucht man auch nicht posten.

Gruß FatFire
 
Eine Frage was ist eigentlich mit Fibonacci-Zahlen gemeint? Was versteht man darunter ich vesteh nicht was das sein soll. Deshalb kann ich auch nicht so richtig prgorammieren-...

schau dir mal folgende seite an: Fibonacci-Zahlen
viel text und ne lange folge von zahlen. überleg dir (anhand den tipps und formeln) wie du nun zu dieser ausgabe kommen kannst.

vllt erstmal ohne anzufangen zu programmieren.
 
Das ist noch falsch:

- n muss eingelesen werden bevor du es benutzt, um die Array-Größe anzugeben (an der Stelle ist es nämlich jetzt noch 0)
- Eine "normale" for-Schleife ist so aufgebaut: for(int i =[Dein Startwert], i <= [Dein Endwert], i++)
- Was willst du mit "formel"? Die Werte sollen im array berechnet werden, und wie du Werte an einer bestimmten Stelle in ein Array schreibst bzw. aus einem Array liest, weißt du ja schon
- Oben hatte ich geschrieben, wie man die Werte aus einem Array ausgeben kann. Alternativ:
Java:
for(int i = 0; i < array.length; i++) { 
  System.out.print(" " +array[i]); 
}
- Die Ausgabe gehört nicht in die Berechnungs-for-Schleife, sondern dahinter
- Es heißt Fibonacci-Zahlen :-D

Du bist gar nicht so weit von der Lösung entfernt...
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben