《TP14 带参数的方法(二)ACCP 6.0 S1-1-使用Java理解程序逻辑 课件.ppt》由会员分享,可在线阅读,更多相关《TP14 带参数的方法(二)ACCP 6.0 S1-1-使用Java理解程序逻辑 课件.ppt(18页珍藏版)》请在三一办公上搜索。
1、带参数的方法(二),第十四章,/方法定义public void addName(name)/方法体/方法调用int n=对象名.addName(张三);,纠正代码中的错误,输出“早上好!”包(package)的作用有哪些?,必须指定形参类型,回顾与作业点评,方法没有返回值,预习检查,基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?,本章任务,实现MyShopping系统增加会员功能实现MyShopping系统会员积分功能,本章目标,会使用数组作为方法的参数和返回值会使用对象作为方法的参数,使用Arrays类提供的sort()方法实现定义一个独立的方法来实现姓名排序,该方法的返回
2、值为数组类型,数组类型的方法返回值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 Stud
3、entsBiz();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
4、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 Stude
5、nts();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.datab
6、ase=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,0 x2a486c,0,main:avg,84.0,getAvg:stu,0 x2a486c,0,getAvg:avg,84.0,省略内存分配,内存分配图,Students类中定义身
7、高属性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;,对象数组
8、作为参数,public class TestHeightpublic 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系统的增加会员功能 实
9、现思路:1、创建会员类2、创建会员操作类3、进行测试难点指导:增加会员方法,讲解需求说明,完成时间:25分钟,练习查找会员积分,需求说明:循环输入多个会员的信息,根据会员编号,查找会员积分,完成时间:25分钟,共性问题集中讲解,常见调试问题及解决办法代码规范问题,共性问题集中讲解,总结,基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?画出在本章“计算学生平均分”问题中,程序执行时的内存分配过程图,public class TestScore public static void main(String args)Students stu=new Students();Score
10、 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,0 x2a486c,0,main:avg,84.0,getAvg:stu,0 x2a486c,0,getAvg:avg,84.0,省略内存分配,作业,课后作业必做教员备课时在此添加内容选做教员备课时在此添加内容提交时间:xxx提交形式:xxx预习作业背诵英文单词教员备课时在此添加内容,