【问题标题】:Add of an object via an input (arrayList)通过输入添加对象(arrayList)
【发布时间】:2021-07-13 18:21:47
【问题描述】:

目前,我有 2 个对象,我想输入一个新对象。

List<Player> players = new ArrayList<Player>();
players.add(new Player("Eric", 31, true));
players.add(new Player("Juliette", 28, false));

我正在寻找 StackOverFlow 上的解决方案,如下所示:但是,我不明白我的错误。

How to add an object into ArrayList in java

这是我的方法:

public static void addPlayer(List <Player> players){
    Scanner inputPlayer = new Scanner(System.in);
  
    System.out.print("Enter your player please : ");
    String name = inputPlayer.next();
    Player.add(name);

}

我的错误是 -> Main.java:75: error: cannot find symbol 播放器.add(name);文字

我不明白我的问题??

Player.add(name)

这是我的方法:

case 4 : System.out.println("Option 4 - : ");
         addPlayer(players);
break; 

我的班级Player

public class Player {

  public String name;
  public int age; 
  public boolean sex;

  public Player(String name, int age, boolean sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
  }

提前感谢您的帮助。

【问题讨论】:

  • 嗨@eric,您正在调用 Player.add 而不是您的参数名称:players.add
  • 嗨@gtgaxiola,我总是遇到同样的问题Main.java:75: error: incompatible types: String cannot be converted to Player players.add(name);
  • 想想这句话的意思。您有一个类型为Player 的对象列表。您正在尝试添加name,它是String,而不是Player。所以这个错误是有道理的。也许您应该看一下基本的 Java 教程来了解 OOP?
  • 你也需要输入年龄和性别player.add(new Player(name, age, sex));
  • 您必须从输入中获取新玩家所需的所有数据,创建一个新玩家对象并将该对象添加到列表中。在这里,您只是尝试将字符串添加到播放器列表中

标签: java


【解决方案1】:

您需要接受更多输入,因为您的Player 构造函数需要String nameint ageboolean sex。然后您可以使用new Player(name, age, sex) 实例化一个新的 Player 对象,并使用players.add(new Player(name, age, sex)); 将一个 Player 对象添加到您的列表中。

public static void addPlayer(List <Player> players){
    Scanner inputPlayer = new Scanner(System.in);
  
    System.out.print("Enter your player name please : ");
    String name = inputPlayer.next();
    System.out.print("Enter your player age please : ");
    int age = inputPlayer.nextInt();
    System.out.print("Enter your player sex (boolean) please : ");
    boolean sex = inputPlayer.nextBoolean();
    players.add(new Player(name, age, sex));

}

【讨论】:

  • 谢谢你,Mady,改一下boolean sex = inputPlayer.nextBoolean();
猜你喜欢
  • 2012-04-14
  • 2017-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
相关资源
最近更新 更多