package sut.edu; public class Student { private static int numOfStudents = 0; private int id; private String name; private String hobby; private double gpa; public Student(String name, String hobby, double gpa) { this.id = ++numOfStudents; this.name = name; this.hobby = hobby; this.gpa = gpa; } public int getId() { return id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public double getGpa() { return gpa; } public void setGpa(double gpa) { this.gpa = gpa; } public void modify(String name, String hobby, double gpa) { this.name = name; this.hobby = hobby; this.gpa = gpa; } public void display() { System.out.println("Id: " + id + ", Name: " + name + ", Hobby: " + hobby + ", GPA: " + gpa); } public void modifyGpa(double gpa) { this.gpa = gpa; } public static double averageGpa(Student[] students) { double sum = 0; for (int i = 0; i < students.length; i++) { sum += students[i].gpa; } return sum / students.length; } public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", hobby='" + hobby + '\'' + ", gpa=" + gpa + '}'; } public class Test { public static void main(String[] args) { Student[] students = new Student[3]; students[0] = new Student("Tom", "reading", 3.8); students[1] = new Student("Jerry", "swimming", 4.0); students[2] = new Student("Alice", "singing", 3.5); for (int i = 0; i < students.length; i++) { students[i].display(); } System.out.println("Average GPA: " + Student.averageGpa(students)); students[1].modify("Jerry2", "running", 3.9); students[1].modifyGpa(4.1); students[1].display(); System.out.println("Average GPA: " + Student.averageGpa(students)); } } }
时间: 2024-02-14 22:21:15 浏览: 85
这是一个Java程序,定义了一个名为"Student"的类,包含了一些属性和方法,以及一个名为"Test"的内部类用于测试这个类的功能。
这个类中的属性包括:id(学生ID)、name(学生名字)、hobby(学生爱好)和gpa(学生平均成绩)。其中,id是静态属性,表示学生的数量,每添加一个学生对象,该属性的值就会加1;name、hobby和gpa是实例属性,表示学生的具体信息。
这个类中的方法包括:构造方法、获取和设置属性值的方法、修改学生信息的方法、展示学生信息的方法、修改学生平均成绩的方法和计算学生平均成绩的静态方法。
在Test类中,创建了一个包含3个学生对象的数组,并对每个学生对象的属性进行初始化,然后通过循环遍历数组,展示每个学生的信息。接着,计算了这些学生的平均成绩,并输出结果。然后,修改了第二个学生的信息和平均成绩,并再次输出结果。
总体来说,这个程序是一个简单的学生信息管理系统,可以用于增加、修改、删除和展示学生信息,以及计算学生的平均成绩。
相关问题
package homework; public class Student { class Student{ private String name; private int stuNo; private String sex; private String grade; private double score; } public static void main(String[] args) { Student stu=new Student(); stu.name="Monkey"; stu.stuNo="000001"; stu.sex="man"; stu.grade="first grade"; stu.score="100.00"; System.out.println("姓名:"+stu.name+"学号:"+stu.stuNo+"性别:"+stu.sex+"班级:"+stu.grade+"成绩:"+stu.score+""); } }输出结果是什么
输出结果是:编译错误,因为在赋值时,stuNo和score应该是int和double类型,而不是String类型。正确的代码应该是:
public class Student{
private String name;
private int stuNo;
private String sex;
private String grade;
private double score;
public static void main(String[] args) {
Student stu=new Student();
stu.name="Monkey";
stu.stuNo=000001;
stu.sex="man";
stu.grade="first grade";
stu.score=100.00;
System.out.println("姓名:" + stu.name + " 学号:" + stu.stuNo + " 性别:" + stu.sex + " 班级:" + stu.grade + " 成绩:" + stu.score);
}
}
阅读全文