本文目录导读:

我来提供一个Java案例,比较两支球队的失误次数,并判断哪支球队失误更少。
完整代码示例
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class TeamFaultComparison {
// 球队类
static class Team {
private String name;
private int faultCount;
public Team(String name) {
this.name = name;
this.faultCount = 0;
}
public void addFault(int count) {
this.faultCount += count;
}
public String getName() {
return name;
}
public int getFaultCount() {
return faultCount;
}
@Override
public String toString() {
return name + "队 - 失误次数: " + faultCount;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Map<String, Team> teams = new HashMap<>();
System.out.println("=== 球队失误次数统计系统 ===");
System.out.println("请选择操作:");
System.out.println("1. 录入比赛数据");
System.out.println("2. 查看统计结果");
System.out.println("3. 比较两队失误情况");
System.out.println("4. 退出");
while (true) {
System.out.print("\n请输入操作编号: ");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
switch (choice) {
case 1:
inputFaultData(scanner, teams);
break;
case 2:
showStatistics(teams);
break;
case 3:
compareTeams(scanner, teams);
break;
case 4:
System.out.println("程序结束!");
scanner.close();
return;
default:
System.out.println("无效输入,请重新选择!");
}
}
}
// 录入失误数据
private static void inputFaultData(Scanner scanner, Map<String, Team> teams) {
System.out.print("请输入球队名称: ");
String teamName = scanner.nextLine();
// 获取或创建球队
Team team = teams.getOrDefault(teamName, new Team(teamName));
System.out.print("请输入本场比赛失误次数: ");
int faults = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
team.addFault(faults);
teams.put(teamName, team);
System.out.println(teamName + "队本场失误" + faults + "次,累计失误" + team.getFaultCount() + "次");
}
// 显示统计结果
private static void showStatistics(Map<String, Team> teams) {
if (teams.isEmpty()) {
System.out.println("暂无统计数据,请先录入比赛数据!");
return;
}
System.out.println("\n=== 球队失误统计 ===");
for (Team team : teams.values()) {
System.out.println(team);
}
// 找出失误最少的球队
Team minFaultTeam = null;
int minFaults = Integer.MAX_VALUE;
for (Team team : teams.values()) {
if (team.getFaultCount() < minFaults) {
minFaults = team.getFaultCount();
minFaultTeam = team;
}
}
System.out.println("\n失误最少的球队: " + minFaultTeam.getName() +
",共失误" + minFaults + "次");
}
// 比较两支球队
private static void compareTeams(Scanner scanner, Map<String, Team> teams) {
if (teams.size() < 2) {
System.out.println("需要至少2支球队才能进行比较!");
return;
}
System.out.print("请输入第一支球队名称: ");
String team1Name = scanner.nextLine();
System.out.print("请输入第二支球队名称: ");
String team2Name = scanner.nextLine();
Team team1 = teams.get(team1Name);
Team team2 = teams.get(team2Name);
if (team1 == null || team2 == null) {
System.out.println("球队数据不存在,请先录入数据!");
return;
}
System.out.println("\n=== 对比结果 ===");
System.out.println(team1);
System.out.println(team2);
int diff = team1.getFaultCount() - team2.getFaultCount();
if (diff < 0) {
System.out.println(" " + team1Name + "队失误更少,比" +
team2Name + "队少" + Math.abs(diff) + "次失误");
} else if (diff > 0) {
System.out.println(" " + team2Name + "队失误更少,比" +
team1Name + "队少" + diff + "次失误");
} else {
System.out.println(" 两队失误次数相同!");
}
}
}
简化版本(单次比较)
import java.util.Scanner;
public class SimpleFaultComparison {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两支球队的失误数据:");
// 球队A
System.out.print("球队A名称: ");
String teamAName = scanner.nextLine();
System.out.print(teamAName + "失误次数: ");
int teamAFaults = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
// 球队B
System.out.print("球队B名称: ");
String teamBName = scanner.nextLine();
System.out.print(teamBName + "失误次数: ");
int teamBFaults = scanner.nextInt();
// 比较结果
System.out.println("\n=== 对比结果 ===");
System.out.println(teamAName + "失误 " + teamAFaults + " 次");
System.out.println(teamBName + "失误 " + teamBFaults + " 次");
if (teamAFaults < teamBFaults) {
System.out.println(teamAName + "失误更少!");
System.out.println(teamAName + "比" + teamBName + "少" +
(teamBFaults - teamAFaults) + "次失误");
} else if (teamAFaults > teamBFaults) {
System.out.println(teamBName + "失误更少!");
System.out.println(teamBName + "比" + teamAName + "少" +
(teamAFaults - teamBFaults) + "次失误");
} else {
System.out.println("两队失误次数相同!");
}
scanner.close();
}
}
使用示例
=== 球队失误次数统计系统 ===
请选择操作:
1. 录入比赛数据
2. 查看统计结果
3. 比较两队失误情况
4. 退出
请输入操作编号: 1
请输入球队名称: 火箭
请输入本场比赛失误次数: 15
火箭队本场失误15次,累计失误15次
请输入操作编号: 1
请输入球队名称: 湖人
请输入本场比赛失误次数: 12
湖人队本场失误12次,累计失误12次
请输入操作编号: 3
请输入第一支球队名称: 火箭
请输入第二支球队名称: 湖人
=== 对比结果 ===
火箭队 - 失误次数: 15
湖人队 - 失误次数: 12
湖人队失误更少,比火箭队少3次失误
这个程序提供了灵活的选择,可以录入多场比赛数据,也可以简单比较两支球队的失误情况。