**Java程序设计题目及代码详解**
**一、题目**:
编写一个Java程序,实现以下功能:
1. 定义一个名为`Student`的类,包含`name`(姓名)、`age`(年龄)和`score`(成绩)三个属性,以及相应的构造方法和getter、setter方法。
2. 在`main`方法中,创建一个`Student`对象数组,存储多个学生信息。
3. 遍历数组,输出每个学生的姓名、年龄和成绩。
4. 编写一个方法,用于计算并返回数组中所有学生的平均成绩。
**二、代码及详解**:
// 定义Student类 public class Student { private String name; // 姓名 private int age; // 年龄 private double score; // 成绩 // 构造方法 public Student(String name, int age, double score) { this.name = name; this.age = age; this.score = score; } // getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } } // 主类 public class Main { public static void main(String[] args) { // 创建Student对象数组 Student[] students = new Student[3]; students[0] = new Student("张三", 20, 85.5); students[1] = new Student("李四", 21, 90.0); students[2] = new Student("王五", 19, 78.0); // 遍历数组,输出学生信息 for (Student student : students) { System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge() + ",成绩:" + student.getScore()); } // 计算平均成绩并输出 double averageScore = calculateAverageScore(students); System.out.println("所有学生的平均成绩为:" + averageScore); } // 计算平均成绩的方法 public static double calculateAverageScore(Student[] students) { double sum = 0; for (Student student : students) { sum += student.getScore(); } return sum / students.length; } }
**代码详解**:
1. **定义Student类**:我们定义了一个名为`Student`的类,用于表示学生信息,该类包含三个私有属性:`name`(姓名)、`age`(年龄)和`score`(成绩),我们为这些属性提供了相应的构造方法、getter和setter方法,以便在后续代码中创建和修改学生对象。
2. **创建Student对象数组**:在`main`方法中,我们创建了一个`Student`对象数组`students`,并初始化了三个学生对象,每个对象通过调用`Student`类的构造方法进行创建,并传入相应的参数(姓名、年龄和成绩)。
3. **遍历数组并输出学生信息**:接下来,我们使用for-each循环遍历`students`数组,在循环体内,我们通过调用学生对象的getter方法获取其姓名、年龄和成绩,并使用`System.out.println`方法将这些信息输出到控制台。
4. **计算平均成绩**:为了计算所有学生的平均成绩,我们定义了一个名为`calculateAverageScore`的静态方法,该方法接受一个`Student`对象数组作为参数,遍历数组中的每个学生对象,累加其成绩,并返回成绩总和除以学生数量的结果,在`main`方法中,我们调用该方法并传入`students`数组,将返回的平均成绩输出到控制台。
**三、总结**
本题目是一个典型的Java面向对象编程题目,涉及类的定义、对象的创建与操作、数组的使用以及方法的编写与调用,通过本题目的练习,我们可以加深对Java面向对象编程的理解,提高编程实践能力,在实际开发中,类似的学生信息管理功能是非常常见的,因此掌握本题目的解法对于提升我们的编程技能具有重要意义。