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()); } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步