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

wen java案例 2

Java 案例:统计失误次数,哪队更少?

下面给你一个完整的 Java 示例,模拟两支队伍(A队、B队)比赛中的失误统计,并判断哪队失误更少。

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

需求分析

  • 有两支队伍:A队 和 B队
  • 记录每队的失误次数
  • 统计后比较,输出失误更少的队伍
  • 若失误次数相同,则输出"平局"

完整代码示例

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class MistakeStatistics {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Map<String, Integer> mistakes = new HashMap<>();
        mistakes.put("A队", 0);
        mistakes.put("B队", 0);
        System.out.println("=== 失误统计系统 ===");
        System.out.println("请输入失误记录,格式:队伍名 (A/B),输入 q 结束");
        // 1. 循环录入失误
        while (true) {
            System.out.print("哪队失误?(A/B/q退出): ");
            String input = scanner.nextLine().trim().toUpperCase();
            if (input.equals("Q")) {
                break;
            }
            String team;
            if (input.equals("A")) {
                team = "A队";
            } else if (input.equals("B")) {
                team = "B队";
            } else {
                System.out.println("输入无效,请输入 A 或 B");
                continue;
            }
            mistakes.put(team, mistakes.get(team) + 1);
        }
        // 2. 输出统计结果
        System.out.println("\n=== 失误统计结果 ===");
        for (Map.Entry<String, Integer> entry : mistakes.entrySet()) {
            System.out.println(entry.getKey() + " 失误次数: " + entry.getValue());
        }
        // 3. 比较哪队失误更少
        int aMistakes = mistakes.get("A队");
        int bMistakes = mistakes.get("B队");
        System.out.println("\n=== 比较结果 ===");
        if (aMistakes < bMistakes) {
            System.out.println("A队失误更少,A队表现更好!");
        } else if (bMistakes < aMistakes) {
            System.out.println("B队失误更少,B队表现更好!");
        } else {
            System.out.println("两队失误次数相同,平局!");
        }
        scanner.close();
    }
}

运行示例

=== 失误统计系统 ===
请输入失误记录,格式:队伍名 (A/B),输入 q 结束
哪队失误?(A/B/q退出): A
哪队失误?(A/B/q退出): A
哪队失误?(A/B/q退出): B
哪队失误?(A/B/q退出): A
哪队失误?(A/B/q退出): B
哪队失误?(A/B/q退出): q
=== 失误统计结果 ===
A队 失误次数: 3
B队 失误次数: 2
=== 比较结果 ===
B队失误更少,B队表现更好!

代码升级版(数组实现)

如果队伍固定为两支,用数组更简洁高效:

public class MistakeStats2 {
    public static void main(String[] args) {
        // 模拟数据:每场比赛两队失误次数
        int[] teamA = {3, 5, 2, 4};
        int[] teamB = {2, 4, 1, 3};
        int sumA = 0, sumB = 0;
        for (int i = 0; i < teamA.length; i++) {
            sumA += teamA[i];
            sumB += teamB[i];
        }
        System.out.println("A队总失误: " + sumA);
        System.out.println("B队总失误: " + sumB);
        if (sumA < sumB) {
            System.out.println("A队失误更少 ✅");
        } else if (sumB < sumA) {
            System.out.println("B队失误更少 ✅");
        } else {
            System.out.println("两队失误相同,平局 ⚖️");
        }
    }
}

涉及知识点

知识点 说明
HashMap 用键值对存储队伍与失误数
Map.Entry 遍历 Map 元素
Scanner 读取用户输入
if-else 判断哪队失误更少
数组遍历 批量累加失误次数

扩展思路

  1. 统计多场比赛:每场录入一次数据,最后汇总
  2. 排序输出:按失误次数从少到多排序队伍
  3. 文件读取:从 txt 或 csv 文件读取历史失误数据
  4. 可视化:用柱状图展示(JavaFX/Swing)

如果你有具体的业务场景(比如足球比赛、电竞、考试答题等),告诉我,我可以帮你写出更贴合的版本。

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