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());
    }
}

  

posted @ 2016-07-12 22:32  马丁黄瓜啊  阅读(386)  评论(0编辑  收藏  举报