要求定义一个数组类,动态分配数组大小,并实现反转与排序操作。
代码如下:
class Array { private int a[] = null; private int foot=0; public Array(int len) { if (len > 0) this.a = new int[len]; else this.a = new int[1]; } public boolean add(int i){ if(this.foot<this.a.length){ this.a[foot]=i; this.foot++; return true; } else return false; } public int[] getArray(){ return this.a; } } class SortArray extends Array{ public SortArray(int len) { super(len); // TODO 自动生成的构造函数存根 } public int[] Sort(){ java.util.Arrays.sort(super.getArray()); return super.getArray(); } } class ReverseArray extends Array{ public ReverseArray(int len) { super(len); // TODO 自动生成的构造函数存根 } public int[] Reverse(){ int x=super.getArray().length; int temp[]=new int [x]; temp=super.getArray(); for(int i=0;i<x/2;i++){ int t=temp[i]; temp[i]=temp[x-i-1]; temp[x-i-1]=t; } return temp; } } public class ArrayDemo1 { public static void main(String[] args) { Array A=new Array(3); A.add(1); A.add(5); A.add(3); SortArray B=new SortArray(5); B.add(2); B.add(5); B.add(3); B.add(4); B.add(1); ReverseArray C = new ReverseArray(4); C.add(1); C.add(2); C.add(3); C.add(4); print(A.getArray()); print(B.Sort()); print(C.Reverse()); } public static void print(int t[]){ for(int i=0;i<t.length;i++) System.out.print(t[i]); System.out.println(); } }
原文地址:http://blog.csdn.net/u014492609/article/details/44204823