Essa array não está armazenando os dados da maneira que eu gostaria

import java.util.Scanner;

public class App {

    public static String nomeEquipeA;

    public static String nomeEquipeB;

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.print("Insira o nome da equipe 1: ");

        nomeEquipeA = input.nextLine();

        Player[] jogadoresA = new Player[4];

        for(int i = 0; i < jogadoresA.length; i++){

            jogadoresA[i] = new Player();

            jogadoresA[i].setName(i);

        }

        System.out.println("O jogador 2 se chama: " + jogadoresA[3].getName());

    }

}

O nome do jogador é um int?

não, eu só utilizo ela como um marcador para a pergunta. Código em baixo:

import java.util.Scanner;

public class Player {

    public static String name;

 public static void setName(int i){

    Scanner input = new Scanner(System.in);

    System.out.printf("Insira o nome do jogador %d:",i + 1);

    name = input.nextLine();

    }

   

public static String getName(){

    return name;

}

}

O problema é que o name está como static, dessa forma o atributo pertence a classe e não aos objetos.
Tira o static.

1 curtida