возвращает список игроков на основе позиции

#java #arraylist

#java #arraylist

Вопрос:

У меня есть метод, который создает набор из 6 объектов и присваивает им переменные, включая имя, команду, позицию и т.д. Мне нужен метод, который может выполнять поиск по массиву объектов и отображать только те, у которых выбрана переменная (position).Проект требует, чтобы я отображал список только тех игроков, у которых есть определенная позиция. Итак, для этого, если бы выбранной позицией была «QB», в ней отображались бы «Эли Мэннинг», «Том Брэди», «Дерек Кар» с сопровождающей их статистикой.

 //constructor creating 6 players
public NFLPlayerManager(){
    NFLPlayer x = new NFLPlayer("Eli Manning", "New York Giants", "QB", 21, 77, 72, 170, 0, 160, "TCU");
    playerList.add(x);
    NFLPlayer y = new NFLPlayer("Tom Brady", null, "QB", 0, 0, 0, 0, 0, 0, null);
    playerList.add(y);
    NFLPlayer z = new NFLPlayer("Josh Kline", null, null, 0, 0, 0, 0, 0, 0, null);
    playerList.add(z);
    NFLPlayer a = new NFLPlayer("Derek Carr", null, "QB", 0, 0, 0, 0, 0, 0, null);
    playerList.add(a);
    NFLPlayer b = new NFLPlayer("Rob Gronkowski", null, "TE", 0, 0, 0, 0, 0, 0, null);
    playerList.add(b);
    NFLPlayer c = new NFLPlayer("James White", null, null, 0, 0, 0, 0, 0, 0, null);
    playerList.add(c);
}
  

Комментарии:

1. Пожалуйста, поделитесь каким-нибудь кодом. Невозможно ответить на вопрос, сформулированный подобным образом.

2. Здесь есть вопрос?

3. Очень сложно ответить на этот вопрос в его текущем состоянии, не угадывая. Пожалуйста, улучшите вопрос.

Ответ №1:

 public void showPlayerByPosition(String position)
{
    for(int i = 0; i < playerList.size(); i  )
    {
        //now lets grab the NFLPlayer's position with a getter and compare it to the given string in our parameter
        if(playerList.get(i).getposition().equals(position))
        {
            //then print the NFLPlayer
            playerList.get(i).showPlayer(); //Note i making up the name for the print function
        }

    }
}
  

Теперь вы можете вызвать функцию следующим образом

 showPlayerbyPosition("QB")