某公司举行职员足球比赛,编写程序用于记录球员的信息(队名、球员姓名、球员号码)和比赛进球数。实现随着比赛的推进,每进一球循环输入进球的队名、球员号码。最后输出该项足球比赛的球员进球情况和金靴奖得主。java
时间: 2023-12-03 14:47:49 浏览: 95
以下是一个简单的 Java 实现,使用了 HashMap 来记录球员信息和进球数:
```java
import java.util.*;
public class FootballMatch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 创建队伍和球员信息的 HashMap
Map<String, Map<Integer, String>> teams = new HashMap<>();
teams.put("A队", new HashMap<>());
teams.put("B队", new HashMap<>());
// 循环输入进球信息
while (true) {
System.out.print("请输入进球队名(A队或B队):");
String teamName = scanner.nextLine();
if (!teamName.equals("A队") && !teamName.equals("B队")) {
System.out.println("无效的队名,请重新输入。");
continue;
}
System.out.print("请输入进球球员号码:");
int playerNumber = Integer.parseInt(scanner.nextLine());
// 更新进球数
Map<Integer, String> players = teams.get(teamName);
if (!players.containsKey(playerNumber)) {
players.put(playerNumber, "");
}
players.put(playerNumber, players.get(playerNumber) + "*");
// 输出当前进球情况
System.out.println("当前进球情况:");
for (String name : teams.keySet()) {
Map<Integer, String> p = teams.get(name);
System.out.println(name + " 队:");
for (int num : p.keySet()) {
System.out.println(" 球员 " + num + ":" + p.get(num));
}
}
// 询问是否继续输入
System.out.print("是否继续输入进球信息?(Y/N):");
String answer = scanner.nextLine();
if (answer.equalsIgnoreCase("N")) {
break;
}
}
// 计算金靴奖得主
int maxGoals = 0;
String topScorer = "";
for (String name : teams.keySet()) {
Map<Integer, String> p = teams.get(name);
for (int num : p.keySet()) {
String goals = p.get(num);
int goalCount = goals.length();
if (goalCount > maxGoals) {
maxGoals = goalCount;
topScorer = name + " 队 " + num + " 号球员";
}
}
}
// 输出金靴奖得主
System.out.println("金靴奖得主是:" + topScorer);
}
}
```
这个程序可以根据输入的进球信息,实时输出当前比赛的进球情况,最后计算出金靴奖得主并输出。
阅读全文