Новое в программировании на Java, и в настоящее время я пытаюсь создать класс, похожий на ArrayList, с использованием массивов.Ошибка Java Array
Я пытаюсь добавить элементы в массив и развернуть массив, скопировав их в новый массив большего размера. Я получаю ошибку от индекса в 20. Код может быть грязным, но в настоящее время действительно застрял.
public class MyArrayList{
private String[] strings;
private int arraySize;
private int storedStrings;
public MyArrayList(int arraySize){
this.arraySize = arraySize;
this.strings = new String[arraySize];
}
public void addString(String string){
storedStrings = 0;
for (int i = 0; i < this.arraySize;i ++){
if (strings[i] != null){
storedStrings = storedStrings +1;
}
}
if (storedStrings == this.arraySize){
String[] newArray = new String[this.arraySize+10];
for (int i = 0; i < this.strings.length; i++){
strings[i] = newArray[i];
}
this.strings = newArray;
newArray[storedStrings] = string;
this.arraySize = this.arraySize +10;
}
else{
strings[storedStrings] = string;
}
for(int i = 0; i < strings.length; i++)
{
//System.out.println(strings[i]);
}
}
}
код запущен в тестовом классе, где ошибка генерируется на линии 10 испытательного класса и линии 47 MyArrayList класса. Это тестовый код
public class TestArrayList{
public static void main(String[] args)
{
MyArrayList a = new MyArrayList(10);
for (int i = 0; i <50; i++){
a.addString("Test" + i);
}
for (int i = 0; i<50;i++){
System.out.println(a.getString(i*5));
}
}
}
Какая линия бросает исключение? И как вы запускаете этот код? Я просто запустил его, и он не выбрасывает исключение. – Stultuske
Теперь я добавлю в тестовый класс –
Я не вижу метод getString (int i) в вашем классе –