java可变参数例子:求学生成绩信息,不确定课程数
可变参数特点:
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());
}
}

浙公网安备 33010602011771号