2016-10-02 68 views
-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: "); 


     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; 
    } 
} 
+0

你知道如何从用户获取输入? – OsamaKhalid

+0

是的,我可以制作一个元素并用用户输入定义属性。现在我想将这个元素存储到一个列表中。 –

+0

制作元素意味着什么?这是简单的输入并将其存储在Arraylist – OsamaKhalid

回答

0

希望这有助于

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; 
} 

} 
+0

这是你如何使用列表。将SpawnPoints元素添加到列表中。 – OsamaKhalid

+0

我想感谢你的耐心奥萨马,这正是我想要学习的东西。只是为了确定< >是否意味着它包含一个元素?我不确定这种语法代表什么。 –

+0

ArrayList将存储的元素的类型。 – OsamaKhalid

0

您可以尝试添加以下代码:

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

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

我想检查一下我是否理解这行代码。 < >是否意味着它使用一个字符串作为参数。因此,如果一个spawnpoint没有被命名为“exit”,那么该spawnpoint将被存储在一个列表中。 –