【问题标题】:Using Object type parameters as method arguments?使用对象类型参数作为方法参数?
【发布时间】:2018-05-15 20:20:21
【问题描述】:

下面显示了一个 Main 方法,它必须从 Student 对象打印平均成绩。它在方法调用中有一个 Student 和 SID 类型,因此它可以打印出三个成绩的简单数组的平均成绩。 Student 类型的参数是什么?

public static void main(String[] args){
    add("101", "Jacob", "Elderinsky", "J.Elder@gmail.com",25, 89, 99.0, 65.0);
    add("201", "Trever", "Riley-Thomas", "stay umble@class.com", 32, 66.0, 84.0, 96.0);
    add("301", "Alexis", "Salkolnikov", "allsalk@outlook.com", 15, 99.0, 100.0, 100.0);
    add("401", "Regina", "Washington", "talktothis@wgu.edu", 19, 92, 96, 92);
    add("501", "Ryan", "Raskolnikov", "agawro1@my.wgu.edu", 28, 99.0, 100.0, 94.0);

    print_all();
    print_invalid_emails();
    printAverageGrade();// <-------------- Parameter???
    remove("3");
    remove("3");

当我尝试使用字符串或整数输入时,编译器告诉我 SID(学生 ID)无效。

public static void printAverageGrade(Student SID) {
    double[] grades = SID.getGrades();
    System.out.println(SID.getSID() + "\t" + (grades[0] + grades[1] + grades[2]) / 3.0);

}

【问题讨论】:

    标签: java methods arguments


    【解决方案1】:
    printAverageGrade(Student SID)
    

    根据定义,此方法仅接受 Student 对象——这就是为什么您不能将 String 或 Integer 传递给此方法的原因。

    【讨论】:

    • 可以理解。但是,我如何将 Student 传递给该方法以返回平均成绩?见main的顶部,我添加了5个学生,这个方法需要我打印平均成绩(5个学生的最后三个输入)
    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2016-12-05
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多