如何拆分字符串数组并输出学生姓名及成绩平均值
学生成绩拆分与平均值计算实现
核心思路
- 遍历输入的学生信息数组,逐个处理每条数据
- 拆分字符串:前两个元素为学生姓名,后三个为三科成绩
- 将成绩转换为数值类型,计算平均值并取整
- 拼接姓名与平均值,按要求格式输出结果
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
相关产品推荐
相关产品推荐

