java可变参数例子:求学生成绩信息,不确定课程数

可变参数特点:

1)...只能出现在参数列表的最后
2)...位于变量类型和变量名之间
3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数

//可变参数也可用数组来解决这个问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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 @   马丁黄瓜啊  阅读(387)  评论(0编辑  收藏  举报
(评论功能已被禁用)
点击右上角即可分享
微信分享提示