Zu den Aufzeichnungen der tutorials.de-Live-Workshops
Like Tree1Danke
  • 1 Beitrag von Der Wolf
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
473
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Aug 2010
    Beiträge
    6
    Hi an alle.Bin Java-Anfänger und habe hier einen Code wo ich die Fehler beheben soll doch leider hab ich keine Ahnung wo der Fehler im Code ist.Vielleicht kann mir jemand helfen...

    public class Fibo_3 {

    /**
    * @param args
    */
    public static void main(String[] args) {
    int klein = 0;
    int groß = 1;
    int werte [] = new int [11];

    werte [0] = klein;
    werte [1] = groß;

    for(int i = 2;i<=11;i++){
    werte [i] = werte[i-2] + werte[i-1];
    groß = werte[i];
    klein = werte[i-1];
    }
    int i=0;
    while (i < werte.length) {
    System.out.println("f" + i + ": " + werte[i]);
    i++;
    }

    if (werte[10] >= 60)
    System.out.println("f10 ist zu groß");

    else
    System.out.println("\nf10 könnte korrekt sein.");
    }

    }
     

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.298
    Hallo franzleitinger und Herzlich Willkommen hier bei tutorials.de

    Bitte fasse deinen Code in die entsprechenden Tags ein ([ java] Code ...... [/ java]), so ist der um einiges leichter zu lesen:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    public class Fibo_3 {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            int klein = 0;
            int groß = 1;
            int werte[] = new int[11];
     
            werte[0] = klein;
            werte[1] = groß;
            
            for(int i = 2;i<=11;i++){
                werte[i] = werte[i-2] + werte[i-1];
                groß = werte[i];
                klein = werte[i-1];
            }
            int i=0;
            while (i < werte.length) {
                System.out.println("f" + i + ": " + werte[i]);
                i++;
            }
            
            if (werte[10] >= 60)
                System.out.println("f10 ist zu groß");
            else
                System.out.println("\nf10 könnte korrekt sein.");
        }
     
    }

    Nun zu deinem Problem:
    Ich kann da auf die schnelle keinen Fehler finden, gibt es eine Fehlermeldung? Oder bringt es falsche Zahlen? Eine etwas genauere Angabe wäre sehr hilfreich

    Ein kleiner Hinweis noch: In der for-Schleife setzt du immer wieder die Variablen "groß" und "klein", dies ist unnötig. Setze diese einmal nach der Schleife.

    Des weiteren hast du bei deinem Array ab und zu ein Leerzeichen vor der öffnenden Klammer. Weiß jetzt nicht, ob das falsch ist, würde ich aber weglassen.

    Gruß
    BK
    Geändert von Bratkartoffel (30.08.10 um 11:58 Uhr)
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  3. #3
    Registriert seit
    Aug 2010
    Beiträge
    6
    Die genaue Angabe lautet:

    Das folgende Codefragment berechnet die ersten elf Fibonacci-Zahlen f0, f1, … , f10 und gibt diese anschließend auf der Konsole aus. Korrigieren Sie die Fehler im Code und geben Sie den Inhalt des Arrays „werte“ an!

    und ich bekomme eine Fehlermeldung:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11
    at Fibo_3.main(Fibo_3.java:16)
     

  4. #4
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.298
    Hallo,

    ja der Fehler klingt logisch. Schau dir mal Zeile 16 (was ich sowiso schon rausstreichen wollte ) genau an, vorallem welchen Wert "i" beim letzten Durchgang haben wird.
    Hier wird dann versucht, auf das 11te Element von "werte" zuzugreifen. Das Array hat zwar 11 Elemente, diese sind aber von 0 bis 10 nummeriert. Daher die Exception.

    Wirf die Zeilen 16 und 17 raus, dann sollte es weitergehen

    Gruß
    BK
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  5. #5
    Registriert seit
    Aug 2010
    Beiträge
    6
    Nein,leider bekomm ich noch immer die gleiche Fehlermeldung....

    Gruß
    FL
     

  6. #6
    Der Wolf Der Wolf ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    153
    Das Problem müsste eher in der Abbruchbedingung der Schleife liegen die i bis zu einem Wert von 11 erhöht und 11 selbst noch zulässt. Damit versuchst du auch schon in Zeile 15 auf das Feld mit dem Index 11 im Array zu zu greifen. Das gibt es allerdings nicht.
    Du musst also die Schleife etwas anpassen. Soviel als Tipp von mir.
    janus23 bedankt sich. 

  7. #7
    Elmu Tutorials.de Gastzugang
    Der Wolf hat recht.

    Ich erweitere den Tipp mal etwas =>

    Ein Feld beginnt immer bei 0.
    Erstellst du ein Array mit 9Elementen, dann läuft das Array von 0-8.

    Dein Array hast du mit 11 Elementen erstellt, dann läuft es von 0-?.

    Willst du auf ein Feld darüber zugreifen, dann gibs Fehler.
     

  8. #8
    Registriert seit
    Aug 2010
    Beiträge
    6
    Hab das Problem!!Danke!in der for-Schleife einfach i<=10

    Gruß
    FL
     

Ähnliche Themen

  1. Fibonacci-Schleife als PSD
    Von mikkele im Forum Photoshop
    Antworten: 5
    Letzter Beitrag: 12.04.10, 02:29
  2. Fibonacci jenseits der Millionen
    Von chris_de_luxe im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 11
    Letzter Beitrag: 12.03.09, 14:26
  3. Gestaltungsraster mit Hilfe der Fibonacci-Reihe
    Von Jan-Frederik Stieler im Forum Creative Lounge
    Antworten: 14
    Letzter Beitrag: 29.05.05, 13:55
  4. Fibonacci - Zahlenfolge
    Von Gambit050 im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 21.10.04, 10:35
  5. Fibonacci und Komplexität
    Von PPhilipp im Forum Coders Talk
    Antworten: 5
    Letzter Beitrag: 04.01.04, 20:22