Как сравнить результаты и определить победителя

Имею задачку : ввести имя первой команды ввести количество фрагов для 5-ти игроков первой команды (т.е. должно быть 5 переменных) ввести имя второй команды ввести количество фрагов для 5-ти игроков второй команды (т.е. должно быть 5 переменных) подсчитать среднее арифметическое баллов каждой команды сравнить результаты команд и определить победителя вывести в консоль: "Победившая команда" + teamName + "набрала" + result + "очков"` Дошел только до подсчитание результата команд, а как сравнить и вывести правильно с этим проблемка, помогите пожалуйста). Сейчас код выглядит примерно так :

 public static void main(String[] args) {
        String s = "First Team";
        int pasha = 3;
        int egor = 5;
        int nikita = 3;
        int alexey = 8;
        int kirill = 1;
        String s2 = "Second Team";
        int denis = 9;
        int dima = 2;
        int anton = 4;
        int vadim = 8;
        int danil = 3;
        double[] nums = {3, 5, 3, 8, 1};
        double result = 0;
        for (double ft : nums) {
            result += ft;
        }
        double[] numbers = {9, 2, 4, 8, 3};
        double result2 = 0;
        for (double st : numbers) {
            result2 += st;
        }
        System.out.println("Значение среднего арифмитического First Team: " + result / nums.length);
        System.out.println("Значение среднего арифмитического Second Team: " + result2 / nums.length);
    }
}


Ответы (1 шт):

Автор решения: Vitaly

Я писал код на скорую руку, поэтому мог сделать очень тупые ошибки, но этот код вроде выполняет поставленную задачу. Писал все по-английски, но я думаю переведёшь сам:

import java.util.*;

class player implements Comparable<player> { //Класс игрока
    String name;
    int score;
    public player(String name, int score) {
        this.name = name;
        this.score = score;
    }

    @Override
    public int compareTo(player compatePlayer) {
        return compatePlayer.score - score;
    }
}

public class Main {
    public static void main(String[] args) {
        List<List<player>> teamsScores = new ArrayList<>(0); //Лист из листов всех игроков.
        //Вручную задаю команду 0:
        List<player> newTeam = new ArrayList<>(0); //Лист из новой команды.
        newTeam.add(new player("pasha", 3));
        newTeam.add(new player("egor", 5));
        newTeam.add(new player("nikita", 3));
        newTeam.add(new player("alexey", 8));
        newTeam.add(new player("kirill", 1));
        teamsScores.add(newTeam);

        //Команда 1:
        newTeam = new ArrayList<>(0); //Лист из новой команды.
        newTeam.add(new player("denis", 9));
        newTeam.add(new player("dima", 2));
        newTeam.add(new player("anton", 4));
        newTeam.add(new player("vadim", 8));
        newTeam.add(new player("danil", 3));
        teamsScores.add(newTeam);

        int team = 0;
        int winteam = -1;
        float maxAvarage = 0;
        for(List<player> lp : teamsScores) { //Сортировака листа и среднее арифметическое.
            System.out.println("Team " + team);
            Collections.sort(lp);
            float average = 0;
            float summ = 0;
            for(player p : lp) {
                System.out.println("Player: " + p.name + ". Score: " + p.score);
                summ += p.score;
            }
            average = summ / lp.size(); 
            System.out.println("Average: " + average);
            if(average > maxAvarage) { maxAvarage = average; winteam = team; } //Сравниваем какая команда больше набрала.
            team += 1;
        }
        System.out.println("Team " + winteam + " win! Score: " + maxAvarage);
    }
}

Ps. Я думаю что на этом форуме могут не очень приветствоваться такие темы как "Сделайте все за меня", но уже ладно.

→ Ссылка