Почему компилятор выдаёт ошибку "Result of 'list.isEmpty()' is always 'true'"?
Еще во время компиляции идея пишет:
Result of 'list.isEmpty()' is always 'true'
Не могу ничего положить в массив, ну и вынуть тоже. При выборе case 0
программа не завершается. Что не так?
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
while (true) {
System.out.println();
System.out.print("Выберите операцию: \n 0. Выход из программы\n 1. Добавить дело\n 2. Показать дела\n 3. Удалить дело по номеру\n 4. Удалить дело по названию\n");
choose();
}
}
public static void choose () {
List<String> list = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
String number = scanner.nextLine();
int choice = Integer.parseInt(number);
switch (choice) {
case 0:
System.out.println("Программа завершена!");
return;
case 1:
System.out.print("Введите название задачи: ");
list.add(scanner.nextLine());
break;
case 2:
if (list.isEmpty()) {
System.out.println("Список пуст!");
} else {
for (int i = 0; i < list.size(); i++) {
System.out.println((i + 1) + ". " + list.get(i));
}
}
break;
case 3:
System.out.print("Введите номер для удаления: ");
int check = Integer.parseInt(scanner.nextLine());
if (check > list.size()) {
System.out.println("Нет дела под таким номером");
} else {
list.remove(check - 1);
}
break;
case 4:
System.out.print("Введитие название дела для удаления:");
String deal = scanner.nextLine();
list.remove(deal);
break;
}
}
}