可变参数特点:
1)...只能出现在参数列表的最后
2)...位于变量类型和变量名之间
3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
//可变参数也可用数组来解决这个问题
package Test; public class Student { private int []score; //各科成绩 private int scoreCount=0; //总课程数 //构造函数 Student(int id,String name,int...is){ //这里实现可变&--函数没用ID和name ,这里只是表示下是个学生 scoreCount=is.length;//得到传入的可变参数的大小,可以看做是“数组" score=new int[scoreCount];//赋予课程数 for(int i=0;i<scoreCount;i++){ score[i]=is[i]; } } //课程平均成绩 int avg(){ int avg=0; for(int i=0;i<scoreCount;i++){ avg+=score[i]; } avg/=scoreCount; return avg; } //课程总和 int sum(){ int sum=0; for(int i=0;i<scoreCount;i++){ sum+=score[i]; } return sum; } //main函数测试 public static void main(String[] args) { Student stu1=new Student(101,"zhangsan",60,61,59,60,61,59); Student stu2=new Student(102,"lisi",60,61,59); System.out.println("学生1课程平均分:"+stu1.avg()); System.out.println("学生2课程平均分:"+stu2.avg()); } }