Представьте, что вы задали слова массива до размера 10. Вы вызываете метод add (String word) десять раз, что добавляет 10 слов в слова массива.Можно добавить больше значений в полный массив?
Представьте, что пользователь спрашивает, сколько слов они хотят добавить в массив (int n). Я сохраняю это значение и создаю массив слов размера n. Метод add (String word) называется n раз, чтобы добавить 10 слов в слова массива. Пользователь спрашивает, сколько еще слов они хотят добавить (int k). Метод add (Строковое слово) затем называется k больше раз. Но слова массива уже полны слов, а массивы неизменяемы, поэтому я не могу добавить в этот массив больше слов. Как бы вы справились с этой проблемой? Имея в виду, что нет возможности сохранить второе значение пользователя k, я могу получить доступ только к n, поэтому мне также сложно создать новый массив размера k, потому что я не знаю, какой размер k, и я не хочу знать. Я знаю, что эта проблема может быть легко решена с помощью ArrayLists и т. Д., Но я должен использовать массивы.
Так что, в основном, мне нужно добавить k слов в массив размера n.
Мой код до сих пор работает для добавления первых п слов, но когда речь идет о добавлении следующих килослов, я получаю ArrayIndexOutOfBoundsException (к) ...
общественного класса WordStoreImp {
private int counter=0;
private int size;
private String words[];
public WordStoreImp(int n)
{
size=n;
words=new String[n];
}
public void add(String word)
{
words[counter]=word;
counter++;
}
любая помощь? Я знаю, что это не может быть даже возможно кстати лол
* «массивы неизменяемы» * - Не так. – arshajii
Вам необходимо изменить размер массива (и скопировать исходные данные, если это делается вручную). – Pandacoder
Если вы намерены использовать массивы вместо коллекций, расследуйте 'System.arrayCopy()' см: http://docs.oracle.com/javase/7/docs/api/java/lang/System.html – Fallso