java案例统计失误次数哪队更少?

wen java案例 2

本文目录导读:

java案例统计失误次数哪队更少?

  1. 完整代码示例
  2. 简化版本(单次比较)
  3. 使用示例

我来提供一个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次失误

这个程序提供了灵活的选择,可以录入多场比赛数据,也可以简单比较两支球队的失误情况。

抱歉,评论功能暂时关闭!