问问
java用子类覆写方法反转数组,下面代码不知道错哪,没有反转 数组,求大神解答
勤奋的猫1 2019-09-20 07:36:42
//现在定义一个数组(整型数据)的操作类,在这个类中有如下的几个要求:/** 1、该数组大小由创建数组时动态决定。2、可以通过类向数组中进行数据的保存,保存的时候需要考虑到数组的大小问题。3、如果发现数组空间不足,则可以通过数组长度的动态扩充。4、可以取得数组的全部数据(增加顺序)。5、而后在这一基础上 要求继续扩展两个派生类,一个可以进行数组的排序处理,一个可以进行数组的反转处理。*/class Arry{ private int[] data; private int foot=0; public Arry(int len){//定义一个整型数组,大小由外部传递的len决定 if(len<0){//开辟一个数组空间 this.data=new int[1]; } else{ this.data=new int[len];//开辟一个新数组 } } public void setData(int num){//保存数据 if(this.foot this.data[this.foot]=num; this.foot++; } else{ System.out.println(num+"不能增加了,因为数据溢出"); } } public void inc(int num){//目的增加数组长度,建个新的数组,把this.data的内容给新数组 int[] newData=new int[this.data.length+num];//原来数组的长+增加的长度 System.arraycopy(this.data, 0, newData, 0, this.data.length); this.data=newData; } public int [] getData(){ return this.data; }}class Rever extends Arry{ public Rever(int len){ super(len); } public int[] getData(){//方法覆写,反转数组 int center=super.getData().length/2; int head=0; int tail=super.getData().length-1; for(int x=0;x int temp=super.getData()[head]; super.getData()[head]=super.getData()[tail]; super.getData()[tail]=temp; head++; tail--; } return super.getData(); }}public class MyProject{ public static void main(String args[]){ Rever da=new Rever(4); da.setData(3); da.setData(2); da.setData(1); da.setData(0); da.inc(1); da.setData(4); for(int x=0;x System.out.print(da.getData()[x]+","); } }}