[说明] 本程序接收输入的学生信息,包括学号、姓名、成绩,原样输出信息并计算学生的平均成绩。其中学生类Stud除了包括no(学号)、name(姓名)和grade(成绩)数据成员外,还有两个静态变量 sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg()用于计算平均分。[Java代码]public class Stud { public int no; public String name; public double grade; public (1) double sum=0; public static int num=0; public Stud(int no,String name,double grade) { this.no = no; this.name = name; this.grade = grade; this.sum= (2) ; (3) ; } public static double avg(){ return (4) ; } public void disp(){ System.out.println(this.no+"\t"+this.name+"\t"+this.grade); } public static void main(String[] args) { Stud []students = {new Stud (1,"Li", 81), new Stud(2,"Zhao",84.5), new Stud(3,"Zhang", 87)}; System.out.pfintln("no\tname\tgrade"); students[0].disp(); students[1].disp(); students[2].disp(); System.out.println("avg="+ (5) ); }}
参考答案:
解析:(1) static (2) this.sum+grade (3) this. num++ (4) sum/num (5) Stud.avg() (1)根据题意,sum数据成员是静态变量;(2)~(3):在Stud类的构造函数中,应该对sum数据成员累加并对num成员增1;(4)avg函数是计算平均数的,所以应该返回sum/num;(5)avg函数是个静态函数,所以它的调用方式是类名.函数名即Stud.avg()。