You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分字符串数组并输出学生姓名及成绩平均值

学生成绩拆分与平均值计算实现

核心思路

  • 遍历输入的学生信息数组,逐个处理每条数据
  • 拆分字符串:前两个元素为学生姓名,后三个为三科成绩
  • 将成绩转换为数值类型,计算平均值并取整
  • 拼接姓名与平均值,按要求格式输出结果

Java 实现代码

public class StudentScoreHandler {
    public static void main(String[] args) {
        String[] studentRecords = {"Xavier Telly 20 30 40", "Leban JOHN 40 70 90"};
        String[] output = new String[studentRecords.length];

        for (int idx = 0; idx < studentRecords.length; idx++) {
            String[] segments = studentRecords[idx].split(" ");
            // 提取姓名(固定为前两个字段)
            String fullName = segments[0] + " " + segments[1];
            // 转换成绩为整数
            int maths = Integer.parseInt(segments[2]);
            int science = Integer.parseInt(segments[3]);
            int social = Integer.parseInt(segments[4]);
            // 计算平均值(整数除法自动取整)
            int avgScore = (maths + science + social) / 3;
            // 组装结果字符串
            output[idx] = fullName + " " + avgScore;
        }

        // 按示例格式输出
        System.out.print("{");
        for (int idx = 0; idx < output.length; idx++) {
            if (idx != 0) System.out.print(", ");
            System.out.print(output[idx]);
        }
        System.out.print("}");
    }
}

Python 实现代码

student_records = ["Xavier Telly 20 30 40", "Leban JOHN 40 70 90"]
result_list = []

for record in student_records:
    parts = record.split()
    # 拼接姓名
    full_name = " ".join(parts[:2])
    # 提取并转换成绩
    scores = list(map(int, parts[2:]))
    # 计算平均值(整数除法取整)
    avg_score = sum(scores) // 3
    result_list.append(f"{full_name} {avg_score}")

# 输出指定格式的结果
print("{" + ", ".join(result_list) + "}")

关键说明

  • 拆分字符串时默认按空格分隔,假设输入数据格式严格符合要求(姓名为两个单词,后接三个数字成绩)
  • 平均值计算使用整数除法,自动舍去小数部分,与示例输出的45、66结果匹配
  • 最终输出格式严格遵循示例的{姓名 平均值, 姓名 平均值}样式

内容的提问来源于stack exchange,提问作者Ishaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 23:47:17