Ich habe vor kurzem an ein wenig Java-Code gearbeitet und scheint, als wäre ich festgefahren.Java ArrayIndexOutOfBounds Fehler für Array, das nicht gehen sollte Grenzen
Hier ist mein Code:
public class Test {
static private int arraySize;
public Test(int arrayS){
arraySize = arrayS;
}
int []ma = new int[arraySize];
public static void main(String[] args){
}
public void increment(){
int count = arraySize - 1;
ma[count - 1] += 1;
while(count!= 0){
if(ma[count] > 9){
ma[count] =0;
ma[count - 1] +=1;
}
count -=1;
}
if(ma[0] > 9){
ma[0] = 0;
}
}
}
class Trial
{
public static void main(String[] args)
{
Test z = new Test(2);
System.out.println(z);
z.increment();
System.out.println(z);
}
}
Diese Linie insbesondere: ma[count - 1] += 1;
Hält außerhalb der Grenzen gehen, wenn Test versucht es aus irgendeinem Grund t zu bauen. Ich erhalte diese Fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
ich wirklich jede mögliche Hilfe schätzen würde, die Sie ersparen könnte, weil ich keinen Grund, zu finden scheinen, warum das Array-Grenzen abgehend würde. Meinen Dank.
poste deinen Code hier – Kaushal28
Theres eine Menge fehlender Code Buddy ... Bitte setzen Sie den ganzen Code, so können wir versuchen zu verstehen, zB Ihre Test Konstruktor fehlt – Kushan
Weisen Sie das Array innerhalb des Konstruktors. Ich denke, das Problem tritt auf, weil die Größe statisch ist und vorher initialisiert wurde. Das führt dazu, dass das Array mit der Größe 0 initialisiert wird. 0 – Kushan