资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
带参数的方法(二),第十四章,/方法定义 public void addName(name) /方法体 /方法调用 int n = 对象名.addName(“张三“);,纠正代码中的错误,输出“早上好!” 包(package)的作用有哪些?,必须指定形参类型,回顾与作业点评,方法没有返回值,预习检查,基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?,本章任务,实现MyShopping系统增加会员功能 实现MyShopping系统会员积分功能,本章目标,会使用数组作为方法的参数和返回值 会使用对象作为方法的参数,使用Arrays类提供的sort()方法实现 定义一个独立的方法来实现姓名排序,该方法的返回值为数组类型,数组类型的方法返回值2-1,1、编写方法,实现学生的姓名排序,public class StudentsBiz String names = new String5; / 学生姓名数组 public void inputNames() /接收用户输入的5个学生姓名,存放于names中 /字符串数组作为返回值 public String getNames() Arrays.sort(names); return names; ,返回字符串数组,public class TestSort public static void main(String args) StudentsBiz st = new StudentsBiz(); st.inputNames(); String namesbysort =st.getNames(); System.out.println(“*排序后*“); for(int i =0;i namesbysort.length;i+) if(namesbysort i!=null) System.out.print(namesbysort i+“t“); ,数组类型的方法返回值2-2,调用方法,返回结果,处理返回结果,定义学生类,添加属性:三门课的成绩 定义学生成绩计算类,添加方法,传递对象参数 定义测试类,对象类型的参数3-1,2、编写学生成绩计算类,计算学生平均分,public class Students /定义三门课成绩属性 float java=0; float database=0; float html=0; ,三门课成绩,public class Score /计算平均分,对象作为参数 public float getAvg(Students stu) float avg=0; avg=(stu.java +stu.database +stu.html )/3; return avg; ,对象类型的参数3-2,返回结果,对象类型的参数,public class TestScore public static void main(String args) Students stu=new Students(); Score sc=new Score(); float avg=0; stu.java=80; stu.database=95; stu.html=77; avg=sc.getAvg(stu); System.out.println(“该学生的平均分为:“+avg); ,调用方法,传递参数,返回结果,对象类型的参数3-3,public class TestScore public static void main(String args) Students stu=new Students(); Score sc=new Score(); float avg=0; stu.java=80; stu.database=95; stu.html=77; avg=sc.getAvg(stu); System.out.println(“该学生的平均分为:“+avg); ,public class Score /计算平均分,对象作为参数 public float getAvg(Students stu) float avg=0; avg=(stu.java +stu.database +stu.html )/3; return avg; ,main:stu,0x2a486c,0,main:avg,84.0,getAvg:stu,0x2a486c,0,getAvg:avg,84.0,省略内存分配,内存分配图,Students类中定义身高属性 Height类中定义方法,传递学生对象数组,求平均身高 测试类调用Height类的方法,对象数组类型的参数2-1,3、计算学生的平均身高,public class Height public float getAvgHeight( Students stu) float avgHeight=0; float all=0;/所有学生的总身高 int count=0;/学生计数 for(int i=0; istu.length; i+) if(stui.height != 0) all=all+stui.height; count+; avgHeight=all/count; return avgHeight; ,对象数组作为参数,public class TestHeight public static void main(String args) Students stu = new Students5; Height h=new Height(); float avgheight=h.getAvgHeight(stu); System.out.println(“平均身高:“+avgheight+“cm“); ,对象数组类型的参数2-2,调用方法,传递对象数组,指导增加会员,训练要点: 带参方法的定义及调用 对象类型的参数 需求说明: 创建包com.wxws.sms,增加会员类和会员操作类,实现MyShopping系统的增加会员功能 实现思路: 1、创建会员类 2、创建会员操作类 3、进行测试 难点指导: 增加会员方法,讲解需求说明,完成时间:25分钟,练习查找会员积分,需求说明: 循环输入多个会员的信息,根据会员编号,查找会员积分,完成时间:25分钟,共性问题集中讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,总结,基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处? 画出在本章“计算学生平均分 ”问题中,程序执行时的内存分配过程图,public class TestScore public static void main(String args) Students stu=new Students(); Score sc=new Score(); float avg=0; stu.java=80; stu.database=95; stu.html=77; avg=sc.getAvg(stu); System.out.println(“该学生的平均分为:“+avg); ,public class Score /计算平均分,对象作为参数 public float getAvg(Students stu) float avg=0; avg=(stu.java +stu.database +stu.html )/3; return avg; ,main:stu,0x2a486c,0,main:avg,84.0,getAvg:stu,0x2a486c,0,getAvg:avg,84.0,省略内存分配,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号