本文目录导读:

我来为您编写一个统计球员评分最高者的Java案例,这里提供两个版本:一个基础版,一个面向对象版。
基础版(使用数组)
import java.util.Scanner;
public class PlayerScoreStats {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入球员数量:");
int n = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
String[] names = new String[n];
double[] scores = new double[n];
// 输入球员信息
for (int i = 0; i < n; i++) {
System.out.println("\n请输入第" + (i + 1) + "名球员信息:");
System.out.print("姓名:");
names[i] = scanner.nextLine();
System.out.print("评分(0-100):");
scores[i] = scanner.nextDouble();
scanner.nextLine(); // 消耗换行符
}
// 找出最高分球员
double maxScore = scores[0];
String maxPlayer = names[0];
for (int i = 1; i < n; i++) {
if (scores[i] > maxScore) {
maxScore = scores[i];
maxPlayer = names[i];
}
}
// 输出结果
System.out.println("\n========== 统计结果 ==========");
System.out.println("最高评分球员:" + maxPlayer);
System.out.println("最高评分:" + maxScore);
// 显示所有球员信息
System.out.println("\n所有球员评分:");
for (int i = 0; i < n; i++) {
System.out.println(names[i] + ":" + scores[i] + " 分");
}
}
}
面向对象版(更规范)
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// 球员类
class Player {
private String name;
private double score;
public Player(String name, double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public double getScore() {
return score;
}
@Override
public String toString() {
return name + ":" + score + " 分";
}
}
// 统计类
class PlayerStats {
private List<Player> players;
public PlayerStats() {
players = new ArrayList<>();
}
// 添加球员
public void addPlayer(Player player) {
players.add(player);
}
// 获取最高评分球员
public Player getHighestScorePlayer() {
if (players.isEmpty()) {
return null;
}
Player highest = players.get(0);
for (Player player : players) {
if (player.getScore() > highest.getScore()) {
highest = player;
}
}
return highest;
}
// 获取所有球员
public List<Player> getAllPlayers() {
return players;
}
// 获取平均分
public double getAverageScore() {
if (players.isEmpty()) return 0;
double sum = 0;
for (Player player : players) {
sum += player.getScore();
}
return sum / players.size();
}
}
// 主程序
public class PlayerScoreAnalyzer {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
PlayerStats stats = new PlayerStats();
System.out.println("========== 球员评分统计系统 ==========");
System.out.print("请输入球员数量:");
int playerCount = scanner.nextInt();
scanner.nextLine();
// 输入球员数据
for (int i = 0; i < playerCount; i++) {
System.out.println("\n----- 第" + (i + 1) + "名球员 -----");
System.out.print("姓名:");
String name = scanner.nextLine();
System.out.print("评分(0-100):");
double score = scanner.nextDouble();
scanner.nextLine();
stats.addPlayer(new Player(name, score));
}
// 输出统计结果
System.out.println("\n========== 统计结果 ==========");
Player highest = stats.getHighestScorePlayer();
if (highest != null) {
System.out.println("■ 最高评分球员:" + highest.getName());
System.out.println(" 最高评分:" + highest.getScore() + " 分");
}
System.out.println("■ 平均评分:" + String.format("%.2f", stats.getAverageScore()) + " 分");
// 显示所有球员
System.out.println("\n所有球员评分排名:");
List<Player> allPlayers = stats.getAllPlayers();
// 按评分从高到低排序
allPlayers.sort((p1, p2) -> Double.compare(p2.getScore(), p1.getScore()));
for (int i = 0; i < allPlayers.size(); i++) {
Player player = allPlayers.get(i);
System.out.println((i + 1) + ". " + player.getName() + ":" + player.getScore() + " 分");
if (i == 0) {
System.out.println(" ↑ 最高分");
}
}
}
}
带成绩等级评判的完整版
import java.util.*;
class BasketballPlayer {
private String name;
private double score;
private String grade;
public BasketballPlayer(String name, double score) {
this.name = name;
this.score = score;
this.grade = calculateGrade(score);
}
// 根据分数计算等级
private String calculateGrade(double score) {
if (score >= 90) return "S";
else if (score >= 80) return "A";
else if (score >= 70) return "B";
else if (score >= 60) return "C";
else return "D";
}
public String getName() { return name; }
public double getScore() { return score; }
public String getGrade() { return grade; }
@Override
public String toString() {
return String.format("%-10s 评分:%5.2f 等级:%s", name, score, grade);
}
}
public class BasketballScoreAnalyzer {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<BasketballPlayer> players = new ArrayList<>();
System.out.println("========== 篮球球员评分统计系统 ==========");
// 预设一些球员数据
System.out.println("是否手动输入球员数据?(y/n)");
String choice = scanner.next();
if (choice.equalsIgnoreCase("y")) {
System.out.print("请输入球员人数:");
int n = scanner.nextInt();
scanner.nextLine();
for (int i = 0; i < n; i++) {
System.out.println("\n第" + (i+1) + "名球员:");
System.out.print("姓名:");
String name = scanner.nextLine();
System.out.print("评分(0-100):");
double score = scanner.nextDouble();
scanner.nextLine();
players.add(new BasketballPlayer(name, score));
}
} else {
// 使用示例数据
players.add(new BasketballPlayer("詹姆斯", 95.5));
players.add(new BasketballPlayer("库里", 92.0));
players.add(new BasketballPlayer("杜兰特", 89.5));
players.add(new BasketballPlayer("字母哥", 88.0));
players.add(new BasketballPlayer("约基奇", 93.5));
}
// 找出最高分球员
BasketballPlayer highest = players.get(0);
for (BasketballPlayer player : players) {
if (player.getScore() > highest.getScore()) {
highest = player;
}
}
// 按评分排序
players.sort((p1, p2) -> Double.compare(p2.getScore(), p1.getScore()));
// 输出结果
System.out.println("\n========== 球员评分排名 ==========");
for (int i = 0; i < players.size(); i++) {
System.out.println((i + 1) + ". " + players.get(i));
}
System.out.println("\n========== 统计结果 ==========");
System.out.println("🏆 最高分球员:" + highest.getName());
System.out.println(" 评分:" + highest.getScore() + " 分");
System.out.println(" 等级:" + highest.getGrade());
// 统计等级分布
Map<String, Integer> gradeCount = new HashMap<>();
for (BasketballPlayer player : players) {
gradeCount.merge(player.getGrade(), 1, Integer::sum);
}
System.out.println("\n等级分布:");
gradeCount.forEach((grade, count) ->
System.out.println(" " + grade + "级:" + count + "人"));
// 计算平均分
double avg = players.stream()
.mapToDouble(BasketballPlayer::getScore)
.average()
.orElse(0);
System.out.println("\n平均分:" + String.format("%.2f", avg));
}
}
使用说明
- 版本一:最适合初学者,使用基本数组和循环
- 版本二:面向对象设计,包含类、封装和集合
- 版本三:功能最完整,包含等级评定、排名和统计
运行示例输出:
========== 球员评分排名 ==========
1. 詹姆斯:95.50 分 等级:S
2. 约基奇:93.50 分 等级:S
3. 库里:92.00 分 等级:S
4. 杜兰特:89.50 分 等级:A
5. 字母哥:88.00 分 等级:A
========== 统计结果 ==========
🏆 最高分球员:詹姆斯
评分:95.5 分
等级:S
等级分布:
S级:3人
A级:2人
平均分:91.70
您可以根据需要选择适合的版本使用,如果还需要其他功能,比如处理平局情况、支持评分标准修改等,请告诉我!
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播