java案例统计角球数哪边领先?

wen java案例 1

Java 案例:统计角球数哪边领先

下面给出一个完整的 Java 示例,用于统计足球比赛中主队 vs 客队的角球数,并判断哪边领先。

java案例统计角球数哪边领先?

设计思路

  • 使用一个 CornerStats 类,记录主队和客队的角球数
  • 提供 addHomeCorner()、addAwayCorner() 方法累加角球
  • 提供 getLeader() 判断哪边领先(主队领先 / 客队领先 / 平局)
  • 主程序模拟比赛过程中不断发生角球,实时打印领先情况

完整代码

/**
 * 角球统计类
 */
class CornerStats {
    private int homeCorners = 0;  // 主队角球数
    private int awayCorners = 0;  // 客队角球数
    // 主队获得一个角球
    public void addHomeCorner() {
        homeCorners++;
    }
    // 客队获得一个角球
    public void addAwayCorner() {
        awayCorners++;
    }
    // 判断哪边领先
    public String getLeader() {
        if (homeCorners > awayCorners) {
            return "主队领先";
        } else if (awayCorners > homeCorners) {
            return "客队领先";
        } else {
            return "平局";
        }
    }
    // 打印当前统计结果
    public void printStats() {
        System.out.printf("主队角球: %d | 客队角球: %d | 结果: %s%n",
                homeCorners, awayCorners, getLeader());
    }
}
/**
 * 主程序:模拟比赛过程中角球的发生
 */
public class CornerCounterDemo {
    public static void main(String[] args) {
        CornerStats stats = new CornerStats();
        System.out.println("===== 比赛开始 =====");
        // 模拟比赛事件序列:H 表示主队角球,A 表示客队角球
        String events = "H A A H H H A A H A H H";
        String[] eventArr = events.split(" ");
        int minute = 10;
        for (String event : eventArr) {
            if ("H".equals(event)) {
                stats.addHomeCorner();
                System.out.printf("[第 %d 分钟] 主队获得角球%n", minute);
            } else if ("A".equals(event)) {
                stats.addAwayCorner();
                System.out.printf("[第 %d 分钟] 客队获得角球%n", minute);
            }
            stats.printStats();
            minute += 7; // 每次事件间隔 7 分钟
        }
        System.out.println("===== 比赛结束 =====");
        System.out.println("最终结果: " + stats.getLeader());
    }
}

运行结果示例

===== 比赛开始 =====
[第 10 分钟] 主队获得角球
主队角球: 1 | 客队角球: 0 | 结果: 主队领先
[第 17 分钟] 客队获得角球
主队角球: 1 | 客队角球: 1 | 结果: 平局
[第 24 分钟] 客队获得角球
主队角球: 1 | 客队角球: 2 | 结果: 客队领先
...
===== 比赛结束 =====
最终结果: 主队领先

关键点说明

需求 实现方式
统计角球数 用两个 int 计数器分别记录主队 / 客队
判断领先 比较两个计数器大小返回对应文案
实时更新 每添加一个角球后调用 printStats() 打印当前状态
结果三态 主队领先 / 客队领先 / 平局,避免漏判

可扩展方向

  • 换成 enum 表示结果:HOME_LEADING / AWAY_LEADING / TIE,更规范
  • 支持多支球队:用 Map<String, Integer> 存球队名 → 角球数
  • 读取真实数据:从 CSV / 数据库 / API 读取角球事件流
  • 返回领先幅度:增加 getMargin() 返回差值,便于前端展示

如果你需要多球队版本或从文件读取数据的版本,告诉我,我可以再给出对应代码。

友情链接

欧易欧易欧易欧易欧易欧易欧易欧易直播帮篮球控NBA帮比赛虎聊足球

友情链接

欧易欧易欧易欧易欧易欧易欧易欧易

上一篇java案例统计撞墙式配合完成了几次?

下一篇当前分类已是最新一篇

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

友情链接攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
相关站点礼包窝 · 查文窝