1) cannot find symbol: nameInput, categoryInput on the addToList method
:
Это происходит потому, что вы определены nameInput и categoryInput в create() ... но вы используете их в "addToList().
Вопрос здесь «scope».
2) У вас есть (по крайней мере) три варианта:
Проходят переменные в качестве параметров
Объявите переменные глобально (как статические члены)
Ликвидация «addToList() ", и просто выполните эти две строки как часть" create() ".
3) Я рекомендовал бы сочетание двух последних вариантов:
public class MyClass {
private List<String> names;
private List<String> categories;
...
public MyClass() {
names = new ArrayList<String>();
categories = new ArrayList<String>();
...
public newItem() {
Scanner scan = new Scanner(System.in);
System.out.println("Name:");
String nameInput = scan.next();
System.out.println("Category:");
String categoryInput = scan.next();
names.add(nameInput);
categories.add(categoryInput);
System.out.println("newItem: " + nameInput + " " + categoryInput);
}
4) Двигаясь дальше, он, вероятно, имеет смысл определить новый класс; класс, который имеет «имя» и «категория» в качестве членов.
Читайте на области Java. – Kon
Что мешает вам передавать эти значения в качестве параметров в addToList? Или что мешает вам хранить эти значения при сканировании их в некоторой глобальной структуре данных? – Saurabh
компилятор говорит: не может найти символ, фокусируясь на nameInput и categoryInput по методу addToList – FET