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

Java如何提示用户输入数组值并创建Student自定义数据类型

Java代码改造实现方案

功能1:自定义Student数据类型

  • 定义Student类,包含name(学生姓名)、grade(学生成绩)两个私有属性
  • 提供构造方法完成属性初始化,提供getGrade()方法对外暴露成绩属性

功能2:用户动态输入数组内容

  • 使用JDK自带的Scanner工具类实现控制台交互
  • 先提示用户输入学生总人数N,再循环N次依次录入每个学生的姓名和成绩,存入Student类型数组中

完整改造后代码

import java.util.Scanner;

public class Test3 {
    // 自定义Student静态内部类,也可单独拆为Student.java文件
    static class Student {
        private String name;
        private double grade;

        // 构造方法
        public Student(String name, double grade) {
            this.name = name;
            this.grade = grade;
        }

        // 成绩getter
        public double getGrade() {
            return grade;
        }

        public String getName() {
            return name;
        }
    }

    // 传入Student数组求最高成绩
    static double largest(Student[] students) {
        double max = students[0].getGrade();
        for (int i = 1; i < students.length; i++) {
            if (students[i].getGrade() > max) {
                max = students[i].getGrade();
            }
        }
        return max;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入学生数量
        System.out.print("请输入学生总人数:");
        int n = scanner.nextInt();
        scanner.nextLine(); // 吃掉输入数字后的换行符

        Student[] students = new Student[n];

        // 循环录入学生信息
        for (int i = 0; i < n; i++) {
            System.out.printf("请输入第%d名学生的姓名:", i+1);
            String name = scanner.nextLine();
            System.out.printf("请输入第%d名学生的成绩:", i+1);
            double grade = scanner.nextDouble();
            scanner.nextLine();
            students[i] = new Student(name, grade);
        }
        scanner.close();

        System.out.println("最高成绩是:" + largest(students));
        // 若需要输出最高分对应的学生姓名,可同步扩展largest方法逻辑
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:57:03