本文目录导读:

我来为您创建一个Java案例,统计并比较两支球队的角球数,判断哪边领先。
方案1:基础控制台版本
import java.util.Scanner;
public class CornerKickStats {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("=== 角球数统计系统 ===");
System.out.print("请输入主队名称:");
String homeTeam = scanner.nextLine();
System.out.print("请输入客队名称:");
String awayTeam = scanner.nextLine();
// 初始化角球数
int homeCorners = 0;
int awayCorners = 0;
while (true) {
System.out.println("\n当前比分 - 角球数:");
System.out.println(homeTeam + ": " + homeCorners + " 个角球");
System.out.println(awayTeam + ": " + awayCorners + " 个角球");
System.out.print("\n输入:H(主队角球) A(客队角球) Q(退出):");
String input = scanner.nextLine().toUpperCase();
if (input.equals("Q")) {
break;
} else if (input.equals("H")) {
homeCorners++;
} else if (input.equals("A")) {
awayCorners++;
} else {
System.out.println("无效输入,请输入 H、A 或 Q");
}
}
// 输出最终结果
System.out.println("\n=== 比赛结束最终统计 ===");
System.out.println(homeTeam + ": " + homeCorners + " 个角球");
System.out.println(awayTeam + ": " + awayCorners + " 个角球");
// 判断哪边领先
if (homeCorners > awayCorners) {
System.out.println("🏆 " + homeTeam + " 在角球数上领先!");
} else if (awayCorners > homeCorners) {
System.out.println("🏆 " + awayTeam + " 在角球数上领先!");
} else {
System.out.println("🤝 两队角球数持平!");
}
}
}
方案2:面向对象版本(更实用)
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FootballCornerTracker {
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
// 创建比赛对象
Match match = createMatch();
// 开始比赛
match.startMatch();
// 显示最终结果
match.displayFinalResult();
}
private static Match createMatch() {
System.out.println("=== 足球角球数统计系统 ===");
System.out.print("请输入主队名称:");
String homeTeam = scanner.nextLine();
System.out.print("请输入客队名称:");
String awayTeam = scanner.nextLine();
return new Match(homeTeam, awayTeam);
}
}
// 比赛类
class Match {
private Team homeTeam;
private Team awayTeam;
private List<CornerEvent> cornerEvents = new ArrayList<>();
public Match(String homeName, String awayName) {
this.homeTeam = new Team(homeName);
this.awayTeam = new Team(awayName);
}
public void startMatch() {
System.out.println("\n比赛开始!");
while (true) {
displayCurrentStats();
System.out.print("\n操作:1-主队角球 2-客队角球 3-回滚 0-结束比赛:");
int choice = getIntInput();
if (choice == 0) {
break;
} else if (choice == 1) {
addCorner(homeTeam, awayTeam);
} else if (choice == 2) {
addCorner(awayTeam, homeTeam);
} else if (choice == 3) {
rollbackLastEvent();
} else {
System.out.println("无效操作,请重新选择");
}
}
}
private void addCorner(Team team, Team opponent) {
team.addCorner();
System.out.println("⚽ " + team.getName() + " 获得角球!");
// 实时判断领先情况
String leadingInfo = determineLeader();
System.out.println("📊 " + leadingInfo);
}
private void rollbackLastEvent() {
if (cornerEvents.isEmpty()) {
System.out.println("暂无事件可回滚");
return;
}
CornerEvent event = cornerEvents.remove(cornerEvents.size() - 1);
event.getTeam().removeCorner();
System.out.println("↩️ 已回滚:" + event.getTeam().getName() + " 的一个角球");
}
private void displayCurrentStats() {
System.out.println("\n--- 当前统计数据 ---");
System.out.printf("%-15s %d 个角球%n", homeTeam.getName(), homeTeam.getCorners());
System.out.printf("%-15s %d 个角球%n", awayTeam.getName(), awayTeam.getCorners());
}
public String determineLeader() {
int homeCorners = homeTeam.getCorners();
int awayCorners = awayTeam.getCorners();
if (homeCorners > awayCorners) {
return homeTeam.getName() + " 领先 " + (homeCorners - awayCorners) + " 个角球";
} else if (awayCorners > homeCorners) {
return awayTeam.getName() + " 领先 " + (awayCorners - homeCorners) + " 个角球";
} else {
return "双方角球数持平";
}
}
public void displayFinalResult() {
System.out.println("\n=========== 比赛最终统计 ===========");
System.out.printf("%-15s %d 个角球%n", homeTeam.getName(), homeTeam.getCorners());
System.out.printf("%-15s %d 个角球%n", awayTeam.getName(), awayTeam.getCorners());
System.out.println("总角球数:" + (homeTeam.getCorners() + awayTeam.getCorners()));
String leader = determineLeader();
if (leader.contains("持平")) {
System.out.println("🤝 结果:" + leader);
} else {
String[] parts = leader.split(" ");
System.out.println("🏆 结果:" + parts[0] + " 在角球数上领先!");
}
}
private int getIntInput() {
try {
return Integer.parseInt(scanner.nextLine());
} catch (NumberFormatException e) {
return -1;
}
}
// 内部事件类
private class CornerEvent {
private Team team;
public CornerEvent(Team team) {
this.team = team;
}
public Team getTeam() {
return team;
}
}
private void addCorner(Team team, Team opponent) {
team.addCorner();
cornerEvents.add(new CornerEvent(team));
}
}
// 队伍类
class Team {
private String name;
private int cornerCount;
public Team(String name) {
this.name = name;
this.cornerCount = 0;
}
public String getName() {
return name;
}
public int getCorners() {
return cornerCount;
}
public void addCorner() {
cornerCount++;
}
public void removeCorner() {
if (cornerCount > 0) {
cornerCount--;
}
}
}
方案3:带图形化界面版本(Swing GUI)
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CornerKickGUI extends JFrame {
private JLabel homeLabel;
private JLabel awayLabel;
private JLabel statusLabel;
private int homeCorners = 0;
private int awayCorners = 0;
private String homeTeam = "主队";
private String awayTeam = "客队";
public CornerKickGUI() {
setTitle("角球数统计系统");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
// 输入队伍名称
homeTeam = JOptionPane.showInputDialog("请输入主队名称:", "主队");
awayTeam = JOptionPane.showInputDialog("请输入客队名称:", "客队");
// 中间面板
JPanel centerPanel = new JPanel(new GridLayout(3, 1));
homeLabel = new JLabel(homeTeam + ": 0 个角球", SwingConstants.CENTER);
homeLabel.setFont(new Font("Arial", Font.BOLD, 18));
awayLabel = new JLabel(awayTeam + ": 0 个角球", SwingConstants.CENTER);
awayLabel.setFont(new Font("Arial", Font.BOLD, 18));
statusLabel = new JLabel("比赛开始!", SwingConstants.CENTER);
statusLabel.setFont(new Font("Arial", Font.PLAIN, 16));
statusLabel.setForeground(Color.BLUE);
centerPanel.add(homeLabel);
centerPanel.add(awayLabel);
centerPanel.add(statusLabel);
// 按钮面板
JPanel buttonPanel = new JPanel(new FlowLayout());
JButton homeButton = new JButton(homeTeam + " 角球");
JButton awayButton = new JButton(awayTeam + " 角球");
JButton resetButton = new JButton("重置");
homeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
homeCorners++;
updateDisplay();
}
});
awayButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
awayCorners++;
updateDisplay();
}
});
resetButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
homeCorners = 0;
awayCorners = 0;
updateDisplay();
}
});
buttonPanel.add(homeButton);
buttonPanel.add(awayButton);
buttonPanel.add(resetButton);
add(centerPanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
updateDisplay();
}
private void updateDisplay() {
homeLabel.setText(homeTeam + ": " + homeCorners + " 个角球");
awayLabel.setText(awayTeam + ": " + awayCorners + " 个角球");
if (homeCorners > awayCorners) {
statusLabel.setText("🏆 " + homeTeam + " 领先 " + (homeCorners - awayCorners) + " 个角球");
statusLabel.setForeground(Color.GREEN);
} else if (awayCorners > homeCorners) {
statusLabel.setText("🏆 " + awayTeam + " 领先 " + (awayCorners - homeCorners) + " 个角球");
statusLabel.setForeground(Color.GREEN);
} else {
statusLabel.setText("🤝 双方角球数持平");
statusLabel.setForeground(Color.ORANGE);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new CornerKickGUI().setVisible(true);
}
});
}
}
使用说明
控制台版用法:
- 输入主队和客队名称
- 输入 H 记录主队角球,输入 A 记录客队角球
- 输入 Q 结束比赛
- 系统自动判断哪边领先
GUI版特点:
- 可视化界面
- 实时更新数据
- 颜色提示领先状态
- 支持重置功能
运行方式:直接复制代码到Java编译器中运行即可,可以根据实际需求选择适合的版本。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播