本文目录导读:

在足球比赛里,“中柱射门”通常指射门击中门柱(或横梁)后弹出,没能进球,用 Java 来写一个案例,可以通过“枚举结果 + 条件判断 + 随机模拟”的方式,表达对这次中柱射门是否感到惋惜。
下面给你一个比较完整、可以直接运行的 Java 示例。
案例需求
模拟一次射门结果:
- 如果进球:兴奋
- 如果中柱:惋惜
- 如果被扑出:遗憾
- 如果打飞:可惜
重点判断:这次中柱射门是否让人感到惋惜?
Java 代码示例
import java.util.Random;
public class ShotOnPostDemo {
// 射门结果枚举
enum ShotResult {
GOAL, // 进球
HIT_POST, // 中柱
SAVED, // 被扑出
MISS // 打飞
}
public static void main(String[] args) {
ShotResult result = simulateShot();
System.out.println("本次射门结果:" + translate(result));
boolean regret = isRegretful(result);
if (regret) {
System.out.println("是否感到惋惜:是,太可惜了!");
System.out.println("原因:" + getRegretReason(result));
} else {
System.out.println("是否感到惋惜:否");
}
}
// 模拟射门结果
public static ShotResult simulateShot() {
Random random = new Random();
int num = random.nextInt(100);
if (num < 35) {
return ShotResult.GOAL;
} else if (num < 60) {
return ShotResult.HIT_POST;
} else if (num < 80) {
return ShotResult.SAVED;
} else {
return ShotResult.MISS;
}
}
// 判断是否惋惜
public static boolean isRegretful(ShotResult result) {
return result == ShotResult.HIT_POST;
}
// 获取惋惜原因
public static String getRegretReason(ShotResult result) {
if (result == ShotResult.HIT_POST) {
return "只差一点点就能进球,门柱拒绝了这次绝佳机会。";
}
return "";
}
// 中文翻译
public static String translate(ShotResult result) {
switch (result) {
case GOAL:
return "进球";
case HIT_POST:
return "中柱";
case SAVED:
return "被扑出";
case MISS:
return "打飞";
default:
return "未知";
}
}
}
运行结果示例
本次射门结果:中柱 是否感到惋惜:是,太可惜了! 原因:只差一点点就能进球,门柱拒绝了这次绝佳机会。
或者:
本次射门结果:进球 是否感到惋惜:否
代码解析
枚举射门结果
enum ShotResult {
GOAL,
HIT_POST,
SAVED,
MISS
}
用枚举表示四种结果,代码更清晰。
模拟射门
Random random = new Random(); int num = random.nextInt(100);
通过随机数模拟不同结果。
判断是否惋惜
public static boolean isRegretful(ShotResult result) {
return result == ShotResult.HIT_POST;
}
只有中柱时,才认为最值得惋惜。
给出原因
return "只差一点点就能进球,门柱拒绝了这次绝佳机会。";
这句话就是案例的核心表达。
如果做成更真实的案例
可以加入:
- 球员名字
- 比赛时间
- 比分
- 射门角度
- 门将是否碰到球
- 是否绝杀机会
String player = "梅西"; int minute = 89; String score = "1:1";
然后输出:
第89分钟,梅西射门中柱! 此时比分1:1,这是一次绝佳绝杀机会。 是否感到惋惜:是,非常惋惜!
这个 Java 案例想表达的是:
对中柱射门是否感到惋惜?
答案是:是的,通常非常惋惜。
因为中柱意味着距离进球只差几厘米,尤其是关键时刻,往往会被认为是“最遗憾的未进球方式之一”。
如果你愿意,我还可以帮你写一个:
- 带界面版的 Java Swing 射门模拟
- 控制台连续模拟 10 次射门并统计中柱率
- 面向对象版本:Player、Goalkeeper、Goal、Shot
- 适合课堂展示的 Java 案例