import java.util.Scanner;
public class ShoppingList {
public static void main(String[] args) {
int currentListSize = 8;
String[] shoppingList = new String[currentListSize];
int productCount = 0;
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Выберите одну из команд:");
System.out.println("1. Добавить товар в список");
System.out.println("2. Отобразить список");
System.out.println("3. Очистить список");
System.out.println("4. Завершить программу");
int actionNumber = scanner.nextInt();
if (actionNumber == 1) {
// Если количество товаров равно длине массива, расширяем массив
if (productCount == shoppingList.length) {
int newListSize = currentListSize * 2;
String[] newShoppingList = new String[newListSize];
// Копируем только заполненные элементы (индексы от 0 до productCount-1)
for (int i = 0; i < productCount; i++) {
newShoppingList[i] = shoppingList[i];
}
shoppingList = newShoppingList;
currentListSize = newListSize;
System.out.println("Размер списка увеличен до " + currentListSize);
}
System.out.println("Введите название товара:");
String productName = scanner.next();
shoppingList[productCount] = productName;
productCount++;
System.out.println("Товар \"" + productName + "\" добавлен в список под номером " + productCount);
} else if (actionNumber == 2) {
System.out.println("Список товаров:");
if (productCount == 0) {
System.out.println("Список пуст.");
} else {
for (int i = 0; i < productCount; i++) {
System.out.println((i + 1) + ". " + shoppingList[i]);
}
}
} else if (actionNumber == 3) {
// Очищаем список, создавая новый массив и сбрасывая счётчик
shoppingList = new String[currentListSize];
productCount = 0;
System.out.println("Список очищен.");
} else if (actionNumber == 4) {
System.out.println("Завершение программы.");
break;
} else {
System.out.println("Некорректная команда, попробуйте еще раз.");
}
}
scanner.close();
}
}
Никак не выходит сделать его рабочим
Помогите с данным вопросом, что не так?