2016-04-26 1 views
0

J'ai créé un Arraylist de joueurs pour un jeu simple. J'ai besoin d'afficher dans la console qui tourne c'est jouer. J'ai une classe "Player" où je stocke le nom et le score. Aussi un constructeur qui définit ces valeurs pour chaque joueur. Ne peut pas comprendre comment obtenir que le nom d'un joueur de l'indice dans le Arraylist ..Comment obtenir une valeur d'un objet en ne connaissant que l'index ArrayList, Java?

package Øving5; 

import java.util.ArrayList; 
import java.util.Scanner; 

public class Game { 


    public static void Round() { 
     ArrayList<Player> players = new ArrayList<Player>(); 
     Scanner in = new Scanner(System.in); 
     System.out.print("Write down the number of players: "); 
     int numplayers = in.nextInt(); 

     for (int i = 0; i < numplayers; i++) 
      players.add(new Player()); 

     for (int i = 0; i < numplayers; i++) 
      theplayer = players.get(i); // Don't know what to do here.. 
     System.out.print("It is " + toString(theplayer) + "'s turn."); 

    } 

    public static void main(String[] args) { 

     Round(); 


    } 
} 

Répondre

0

Vous obtenez l'objet Player de la ArrayList, donc il suffit de demander pour son nom:

for(Player p : players) { 
    System.out.println(p.getName()); 
} 

Ici, je suppose que votre classe de joueur a une méthode getName() qui renvoie le nom du joueur.

De même, vous pouvez imprimer le nom d'un joueur à un index particulier:

System.out.println(players.get(2).getName()); 
0

d'abord tout ce que vous n'êtes pas d'ajouter des informations à votre classe de joueur.

Pour chaque joueur que vous faites

spillerne.add(new Player()); 

Il est juste de créer une classe vide. Vous devez créer un joueur de classe plus ou moins comme celui-ci

class Player { 
    private String name; 
    public Player(String name) { 
    this.name = name; 
    } 

    public String getName() { 
    return this.name 
} 

Ensuite, votre code devient

for (int i=0; i<numplayers; i++) 
    spillerne.add(new Player("Player " + i)); // Here you can also use user input. This is just an example of giving a name 

for (int i=0; i<numplayers; i++) 
    System.out.print("Det er "+ spillerne.get(i).getName + "sin tur.");