2017-04-23 3 views
0

Hey stackoverflow Community arbeitete an diesem Programm für ein paar Tage und wurde für eine Weile auf diesem Fehler stecken und kann nicht vorbeikommen. Sie fragen sich, ob jemand Einblick geben kann, was vor sich geht. Danke für alle Antworten. HierArrayIndexOutOfBoundsException beim Drucken einer Zeile

ist der Ausgang, wenn ich das Programm ausführen:

27050 
45200 
22600 
36250 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 
at program10.Tax.printBrackets(Program10.java:69) 
at program10.Program10.main(Program10.java:16) 

Im Folgenden finden Sie einige Auszüge des Quellcodes. Unter der Hauptklasse ist:

Tax tx = new Tax(); 
tx.setFilingStatus(tx.MARRIED_JOINTLY); 
tx.setBrackets(2001); 
tx.getBrackets(); 
tx.printBrackets(); 

Unter der Steuerklasse I die printBracket Linie haben, dass sie den Fehler bei bekommt:

public void printBrackets(){ 
    for (int i = 0; i < brackets.length; i++) { 
     for (int j = 0; i < brackets[0].length; j++) { 
      System.out.println(brackets[i][j] + " "); 
     } 
    } 
} 

Schließlich ist die 2001.brackets Datei, die es zieht die Informationen von:

20 
27050 45200 22600 36250 
65550 109250 54625 93650 
136750 166500 83250 151650 
297350 297350 148675 297350 
2147483647 2147483647 2147483647 2147483647 

Antwort

1

Wahrscheinlich sollten Sie sagen

j < Klammern [0] .Length

statt i in der inneren for Schleife ...

0

Nevermind, meine printBrackets Methode war falsch kann nicht glauben, dass ich das so lange übersehen habe. Trotzdem danke!

0

Diese Linie
for (int j = 0; i < brackets[0].length; j++)
sollte
sein

Verwandte Themen