0

ユーザー入力からの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) は、引数 (文字列) には適用されません。

そしてこれ:

reserva.addJogadores(nome_jogador);

タイプ Reservas の addJogadores(Jogadores) メソッドは、引数 (ArrayList) には適用されません。

誰でも私を助けることができますか?

4

4 に答える 4

3

あなたが得ているのは非常に意味のあるエラーです。

これはあなたArrayListです:

ArrayList<Jogadores> nome_jogador = new ArrayList(); 
          ↑

それに何を挿入しようとしていますか?aStringですが、その中にあるはずJogadoresです。

addJogadores次に、メソッド シグネチャを見てください。

public void addJogadores(Jogadores lista_jogadores)
                         ↑

Jogadoersではなくオブジェクトを受け入れますArrayList

于 2013-10-27T15:20:56.793 に答える
0

thenを受け入れるコンストラクターがあるJogadores場合は、 class のインスタンスを渡す必要があります。JogadoresString

nome_jogador.add(new Jogadores(nome));
于 2013-10-27T15:20:27.990 に答える
0
ArrayList<Jogadores> nome_jogador = new ArrayList();

のインスタンスであるオブジェクトのみを追加することが許可されており、 (明らかに のインスタンスではない)Jogadoresを追加しようとしているため、エラーが発生します。StringJogadores

于 2013-10-27T15:21:04.547 に答える
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);
}
于 2013-10-27T15:30:18.610 に答える