программисты! Пытаюсь разобраться с контейнерами. Программа, используя метод add добавляет в массив из строк(изначально n=0 по размерности) заданное значение, через класс контейнер. Моя проблема в том, что при использовании моего метода add несколько раз- массив из строк записывает только последнюю строку, игнорируя прошлую. По сути метод не может создать массив более чем 1 элемент.
class Container {
private String[] strings;
private String[] newStrings;
public Container(int n) {
this.strings= new String[n];
}
Метод add
public void add(String value)
{
this.newStrings = this.strings.clone();
this.strings = new String[this.newStrings.length + 1];
for(int i = 0; i < this.newStrings.length; i++) {
this.strings[i] = this.newStrings[i];
}
this.strings[(this.strings.length - 1)] = value;
this.newStrings = null;
//проверка получаемого значения
for (int i=0; i<this.strings.length; i++){
System.out.println(this.strings[i]);
}
}
И вызов методов add:
switch (option) {
case "A":
cont.add("Привет!");
break;
case "B":
cont.add("Как твои дела?");
break;
case "C":
cont.StringtoString(strings, n);
break;
}
То есть нажав А и В должен создаться массив, в котором есть 2 строки "Привет!" и "Как твои дела?" а на деле мой код просто пишет либо 1-е либо 2-е.
Заранее спасибо.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости