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

wen java案例 1

本文目录导读:

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

  1. 方案一:简单版本(数组+循环)
  2. 方案二:面向对象版本(更专业)
  3. 方案三:带数据输入的示例运行
  4. 功能特点:

我可以帮你设计一个Java案例来统计两支队伍的失误次数,并判断哪队更少,以下是完整的实现方案:

简单版本(数组+循环)

import java.util.Scanner;
public class ErrorCountComparison {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 输入两支队伍的名称
        System.out.print("请输入第一支队伍名称:");
        String teamA = scanner.nextLine();
        System.out.print("请输入第二支队伍名称:");
        String teamB = scanner.nextLine();
        // 输入比赛场次
        System.out.print("请输入比赛场次:");
        int games = scanner.nextInt();
        // 创建数组存储每场比赛的失误次数
        int[] teamAErrors = new int[games];
        int[] teamBErrors = new int[games];
        // 输入失误数据
        System.out.println("\n=== 输入失误数据 ===");
        for (int i = 0; i < games; i++) {
            System.out.println("第" + (i+1) + "场比赛:");
            System.out.print("  " + teamA + "失误次数:");
            teamAErrors[i] = scanner.nextInt();
            System.out.print("  " + teamB + "失误次数:");
            teamBErrors[i] = scanner.nextInt();
        }
        // 计算总失误
        int totalA = sum(teamAErrors);
        int totalB = sum(teamBErrors);
        // 输出结果
        System.out.println("\n=== 统计结果 ===");
        System.out.println(teamA + "总失误:" + totalA + "次");
        System.out.println(teamB + "总失误:" + totalB + "次");
        // 判断哪队更少
        if (totalA < totalB) {
            System.out.println("\n👉 " + teamA + "失误更少,表现更好!");
        } else if (totalA > totalB) {
            System.out.println("\n👉 " + teamB + "失误更少,表现更好!");
        } else {
            System.out.println("\n👉 两队失误次数相同!");
        }
        scanner.close();
    }
    // 计算数组元素之和
    private static int sum(int[] arr) {
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }
        return sum;
    }
}

面向对象版本(更专业)

import java.util.ArrayList;
import java.util.Scanner;
// 队伍类
class Team {
    private String name;
    private ArrayList<Integer> errors;
    public Team(String name) {
        this.name = name;
        this.errors = new ArrayList<>();
    }
    public void addError(int error) {
        errors.add(error);
    }
    public int getTotalErrors() {
        int total = 0;
        for (int error : errors) {
            total += error;
        }
        return total;
    }
    public double getAverageError() {
        if (errors.isEmpty()) return 0;
        return (double) getTotalErrors() / errors.size();
    }
    public String getName() {
        return name;
    }
    public int getMaxError() {
        return errors.stream().max(Integer::compare).orElse(0);
    }
    public int getMinError() {
        return errors.stream().min(Integer::compare).orElse(0);
    }
}
public class TeamErrorComparison {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("🏀 篮球比赛失误统计系统");
        System.out.println("========================");
        // 创建队伍
        System.out.print("请输入第一支队伍名称:");
        Team teamA = new Team(scanner.nextLine());
        System.out.print("请输入第二支队伍名称:");
        Team teamB = new Team(scanner.nextLine());
        // 输入比赛数据
        System.out.print("\n请输入比赛场次:");
        int games = scanner.nextInt();
        scanner.nextLine(); // 消耗换行符
        System.out.println("\n📊 请输入每场比赛的失误数据:");
        for (int i = 0; i < games; i++) {
            System.out.println("\n--- 第" + (i+1) + "场比赛 ---");
            System.out.print(teamA.getName() + "失误:");
            teamA.addError(scanner.nextInt());
            System.out.print(teamB.getName() + "失误:");
            teamB.addError(scanner.nextInt());
            scanner.nextLine();
        }
        // 统计并输出结果
        System.out.println("\n📈 统计数据:");
        System.out.println("========================");
        System.out.println("队伍:" + teamA.getName());
        System.out.println("  总失误:" + teamA.getTotalErrors() + "次");
        System.out.println("  场均失误:" + String.format("%.1f", teamA.getAverageError()) + "次");
        System.out.println("  单场最多失误:" + teamA.getMaxError() + "次");
        System.out.println("  单场最少失误:" + teamA.getMinError() + "次");
        System.out.println("队伍:" + teamB.getName());
        System.out.println("  总失误:" + teamB.getTotalErrors() + "次");
        System.out.println("  场均失误:" + String.format("%.1f", teamB.getAverageError()) + "次");
        System.out.println("  单场最多失误:" + teamB.getMaxError() + "次");
        System.out.println("  单场最少失误:" + teamB.getMinError() + "次");
        // 判断结果
        System.out.println("\n🎯 最终结论:");
        int totalA = teamA.getTotalErrors();
        int totalB = teamB.getTotalErrors();
        if (totalA < totalB) {
            System.out.println("🏆 " + teamA.getName() + "失误更少(" + totalA + " vs " + totalB + ")");
            System.out.println("   控制失误方面表现更优秀!");
        } else if (totalA > totalB) {
            System.out.println("🏆 " + teamB.getName() + "失误更少(" + totalB + " vs " + totalA + ")");
            System.out.println("   控制失误方面表现更优秀!");
        } else {
            System.out.println("🤝 两队失误次数相同(都是" + totalA + "次)");
        }
        scanner.close();
    }
}

带数据输入的示例运行

// 输入示例:
/*
🏀 篮球比赛失误统计系统
========================
请输入第一支队伍名称:湖人队
请输入第二支队伍名称:勇士队
请输入比赛场次:3
📊 请输入每场比赛的失误数据:
--- 第1场比赛 ---
湖人队失误:12
勇士队失误:15
--- 第2场比赛 ---
湖人队失误:18
勇士队失误:10
--- 第3场比赛 ---
湖人队失误:14
勇士队失误:16
📈 统计数据:
========================
队伍:湖人队
  总失误:44次
  场均失误:14.7次
  单场最多失误:18次
  单场最少失误:12次
队伍:勇士队
  总失误:41次
  场均失误:13.7次
  单场最多失误:16次
  单场最少失误:10次
🎯 最终结论:
🏆 勇士队失误更少(41 vs 44)
   控制失误方面表现更优秀!
*/

功能特点:

  1. 基本功能:统计两支队伍的总失误次数并比较
  2. 扩展功能:计算场均失误、最高、最低失误
  3. 用户友好:清晰的输入提示和输出格式
  4. 面向对象:使用类封装队伍属性和方法

你可以根据实际需求选择简单版本或面向对象版本,如果想分析更多维度(比如按比赛阶段、按位置),可以进一步扩展!

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