我正在尝试发送来自用户输入的ArrayList字符串:
private static void adicionarReserva() {
Scanner adiciona = new Scanner(System.in);
System.out.println("Numero da pista: ");
int nPista = adiciona.nextInt();
System.out.println("Numero de jogadores: ");
int nJogadores = adiciona.nextInt();
System.out.println("Data Inicio: ");
String data_inicio = adiciona.next();
Reservas reserva = new Reservas(nPista, data_inicio);
ArrayList<Jogadores> nome_jogador = new ArrayList();
for (int i=1;i<=nJogadores;i++) {
System.out.println("Nome Jogador: ");
String nome = adiciona.next();
nome_jogador.add(nome);
}
reserva.addJogadores(nome_jogador);
}
在我的班级名为:Reservas,我有这个:
public void addJogadores(Jogadores lista_jogadores) {
this.lista_jogadores.add(lista_jogadores);
}
但我有这个错误:
nome_jogador.add(nome);
ArrayList类型中的方法add(Jogadores)不适用于参数(String)
这一个:
reserva.addJogadores(nome_jogador);
类型Reservas中的方法addJogadores(Jogadores)不适用于参数(ArrayList)
任何人都可以帮助我吗?
答案 0 :(得分:3)
这是非常有意义的错误。
这是您的ArrayList
:
ArrayList<Jogadores> nome_jogador = new ArrayList();
↑
你想插入什么?一个String
,但它假设有Jogadores
。
现在查看您的addJogadores
方法签名:
public void addJogadores(Jogadores lista_jogadores)
↑
它接受Jogadoers
个对象,而不是ArrayList
。
答案 1 :(得分:0)
如果Jogadores
有一个接受Jogadores
的构造函数,则必须传递类String
的实例:
nome_jogador.add(new Jogadores(nome));
答案 2 :(得分:0)
ArrayList<Jogadores> nome_jogador = new ArrayList();
您只能添加Jogadores
实例的对象,并且因为您尝试添加String
(显然不是Jogadores
的实例),它会为您提供错误。
答案 3 :(得分:0)
private static void adicionarReserva() {
Scanner adiciona = new Scanner(System.in);
System.out.println("Numero da pista: ");
int nPista = adiciona.nextInt();
System.out.println("Numero de jogadores: ");
int nJogadores = adiciona.nextInt();
System.out.println("Data Inicio: ");
String data_inicio = adiciona.next();
Reservas reserva = new Reservas(nPista, data_inicio);
ArrayList<Jogadores> nome_jogador = new ArrayList();
for (int i=1;i<=nJogadores;i++) {
System.out.println("Nome Jogador: ");
String nome = adiciona.next();
nome_jogador.add(new Jogadores(nome));
}
reserva.addJogadores(nome_jogador);
}
在您的班级中称为:Reservas
public void addJogadores(ArrayList<Jogadores> lista_jogadores) {
this.lista_jogadores.addAll(lista_jogadores);
}