Как сравнить результаты и определить победителя
Имею задачку : ввести имя первой команды ввести количество фрагов для 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 шт):
Я писал код на скорую руку, поэтому мог сделать очень тупые ошибки, но этот код вроде выполняет поставленную задачу. Писал все по-английски, но я думаю переведёшь сам:
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. Я думаю что на этом форуме могут не очень приветствоваться такие темы как "Сделайте все за меня", но уже ладно.