Как мне составить список новых элементов?

#java #list #input #elements

#java #Список #ввод #элемент

Вопрос:

Я хочу создать список элементов, созданных с помощью пользовательского ввода. Могу ли я напрямую сохранить элемент в списке или мне нужно создать ссылку? Я нашел, как составить список готовых переменных, но я хочу создать переменные te с помощью пользовательского ввода.

Цель моего проекта — сохранить dataset и вызвать их позже. Сначала я понимаю концепцию списков. Поэтому я не думаю, что в данный момент полезно копировать мой код.

 import java.util.*; 

public class Database {

    public Database () {

    }

    public static int numberOfSpawnpoints = 0;
    static Scanner userInput = new Scanner(System.in);

    public static void main(String[] args) {

        System.out.println("Add a new spawnpoint.n");

        System.out.println("State the name of this spawnpoint: ");


        Spawnpoints Sp1 = new Spawnpoints(getSpawnName());

        System.out.println("Name: "   Sp1.getSpawnName());
        System.out.println("Location: "   Sp1.getLocation());
        System.out.println("Pokemon: "   Sp1.getPokemon());
        System.out.println("Spawntime: "   Sp1.getSpawntime()); 

        System.out.println("The pokemon is currently spawned: "   Sp1.isSpawned());

        numberOfSpawnpoints  ;

    }

    public static String spawnName;

    public static String getSpawnName() {

        spawnName = userInput.next();
        return spawnName;
    }

    public void setSpawnName(String spawnName) {

        Database.spawnName = spawnName;
    }
}
  

Комментарии:

1. Вы знаете, как получить ввод от пользователя?

2. Да, я могу создать элемент и определить атрибуты с помощью пользовательского ввода. Теперь я хотел бы сохранить этот элемент в списке.

3. Что вы подразумеваете под созданием элемента? Это просто взять входные данные и сохранить их в Arraylist

4. В классе spawnpoints я написал код для получения пользовательского ввода. Это распечатывается в классе базы данных.

5. Итак, когда вы возвращаете точку возрождения, вы хотите сохранить ее в списке?

Ответ №1:

Надеюсь, это поможет

 import java.util.*; 

public class Database {

public Database () {

}

public static int numberOfSpawnpoints = 0;
static Scanner userInput = new Scanner(System.in);

public static void main(String[] args) {

    System.out.println("Add a new spawnpoint.n");

    System.out.println("State the name of this spawnpoint: ");
    ArrayList<Spawnpoints> SPlist = new ArrayList<Spawnpoints>();

    SPlist.add(new Spawnpoints(getSpawnName())); 
    // the above line will create an object of Spawnpoints and store it in  list

    System.out.println("Name: "   SPlist.get[0].getSpawnName());
    System.out.println("Location: "   SPlist.get[0].getLocation());
    System.out.println("Pokemon: "   SPlist.get[0].getPokemon());
    System.out.println("Spawntime: "   SPlist.get[0].getSpawntime()); 

    System.out.println("The pokemon is currently spawned: "   SPlist.get[0].isSpawned());

    numberOfSpawnpoints  ;

}

public static String spawnName;

public static String getSpawnName() {

    spawnName = userInput.next();
    return spawnName;
}

public void setSpawnName(String spawnName) {

    Database.spawnName = spawnName;
}

}
  

Комментарии:

1. Вот как вы можете использовать list . Добавьте в список столько элементов, сколько точек возрождения.

2. Я хочу поблагодарить вас за ваше терпение, Усама, это именно то, что я хотел изучить. Просто чтобы убедиться, означает ли < >, что он содержит элемент? Я не уверен, что представляет собой такой синтаксис.

3. Тип элементов, которые будут храниться в ArrayList.

4. ArrayList <Integer> будет хранить значения int и так далее.

5. Я хотел бы просмотреть эту строку SPList.get[0].isSpawned() . Во-первых, .get[0] вызывает атрибут элемента SPList. Во-вторых, .getSpawnName() вызывает функцию getSpawnName . Я получаю эту ошибку во всех строках System.out «get не может быть разрешен или не является полем»

Ответ №2:

Вы можете попробовать добавить этот код:

 ArrayList<String> items = new ArrayList<String>();

while (!userInput.equals("exit")){
   items.add(userInput.next());
}
  

Комментарии:

1. Я хочу проверить, понимаю ли я эту строку кода. Означает ли < >, что он использует строку в качестве аргументов. Поэтому, если точка возрождения не названа «exit», точка возрождения сохраняется в списке.