欢迎来到天天文库
浏览记录
ID:38753778
大小:907.50 KB
页数:6页
时间:2019-06-18
《综合案例:数组操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、综合案例:数组操作2、知识点2.1、上次课程的主要知识点方法的覆写调用特点:·看实例化的是那个子类的对象(new出现在那里);·观察调用的方法是否已经被该子类覆写,如果覆写则调用被覆写过的方法,如果没有覆写则调用从父类继承而来的方法。2.2、本次预计讲解的知识点讲解一个继承的实现思路。3、具体内容(★★★☆☆)要求定义一个数组操作类(Array类),在这个类里面可以进行整型数组的操作,由外部传入数组的大小,并且要求实现数据的保存以及数据的输出,同时用户可以在外部调整已有数组大小(只能够扩大数组容量)。随后在这个类上要求派生出两个子类:第(6)页共(6)页·
2、排序类:通过此类取得的数据可以进行排序;·反转类:通过此类取得的数组数据要求采用倒序的方式输出。在整个的开发过程之中暂时不要去考虑子类的问题,只考虑父类自己的设计。3.1、数组的核心操作类:Array分析:1、类里面可以进行整型数组的操作里面应该有一个专门的整型数组;classArray{//定义一个数组的操作类privateint[]data;}2、可以通过外部传递大小,需要提供有一个构造方法,并且这个构造方法里面需要接收一个数组大小的参数;classArray{//定义一个数组的操作类privateint[]data;publicArray(intlen)
3、{//实例化本类对象时必须设置数组大小if(len<=0){this.data=newint[1];//至少维持1个大小的数组}else{this.data=newint[len];//根据传入的大小定义数组长度}}}3、保存数据,要根据索引保存:privateintfoot;//作为保存的脚标publicbooleanadd(intnum){//如果保存成功返回true,否则是falseif(this.foot4、同时改变foot的内容returntrue;}returnfalse;}4、数据的输出绝对不可能在类中直接完成,一定要返回给被调用处处理。publicint[]getData(){//返回全部数据returnthis.data;}5、在外部调整已有数组大小。publicvoidinc(intsize){//扩充数组大小,在已有数据基础上扩充if(size>0){int[]newData=newint[this.data.length+size];System.arraycopy(this.data,0,newData,0,this.data.length);t5、his.data=newData;//改变引用}}范例:程序的测试classArray{//定义一个数组的操作类privateint[]data;privateintfoot;//作为保存的脚标publicArray(intlen){//实例化本类对象时必须设置数组大小if(len<=0){this.data=newint[1];//至少维持1个大小的数组}else{this.data=newint[len];//根据传入的大小定义数组长度}}publicbooleanadd(intnum){//如果保存成功返回true,否则是falseif(this.foo6、t0){int[]newData=newint[this.data.length+size];System.arraycopy(this.data,0,newData,0,7、this.data.length);this.data=newData;//改变引用}}第(6)页共(6)页}publicclassTestDemo{publicstaticvoidmain(Stringargs[]){Arrayarr=newArray(5);//开始有5个元素System.out.println(arr.add(90));System.out.println(arr.add(10));System.out.println(arr.add(100));System.out.println(arr.add(65));System.out.pri8、ntln(arr.add(7));ar
4、同时改变foot的内容returntrue;}returnfalse;}4、数据的输出绝对不可能在类中直接完成,一定要返回给被调用处处理。publicint[]getData(){//返回全部数据returnthis.data;}5、在外部调整已有数组大小。publicvoidinc(intsize){//扩充数组大小,在已有数据基础上扩充if(size>0){int[]newData=newint[this.data.length+size];System.arraycopy(this.data,0,newData,0,this.data.length);t
5、his.data=newData;//改变引用}}范例:程序的测试classArray{//定义一个数组的操作类privateint[]data;privateintfoot;//作为保存的脚标publicArray(intlen){//实例化本类对象时必须设置数组大小if(len<=0){this.data=newint[1];//至少维持1个大小的数组}else{this.data=newint[len];//根据传入的大小定义数组长度}}publicbooleanadd(intnum){//如果保存成功返回true,否则是falseif(this.foo
6、t0){int[]newData=newint[this.data.length+size];System.arraycopy(this.data,0,newData,0,
7、this.data.length);this.data=newData;//改变引用}}第(6)页共(6)页}publicclassTestDemo{publicstaticvoidmain(Stringargs[]){Arrayarr=newArray(5);//开始有5个元素System.out.println(arr.add(90));System.out.println(arr.add(10));System.out.println(arr.add(100));System.out.println(arr.add(65));System.out.pri
8、ntln(arr.add(7));ar
此文档下载收益归作者所有