Java面向物件高階--繼承的應用----整形陣列類、排序類、反轉類
阿新 • • 發佈:2019-01-09
分析:
class Array{ // 表示陣列 private int temp[] ; // 整型陣列 private int foot ; // 定義新增位置 public Array(int len){ if(len>0){ this.temp = new int[len] ; }else{ this.temp = new int[1] ; // 最少維持空間是1個 } } public boolean add(int i){ // 增加元素 if(this.foot<this.temp.length){ // 還有空間 this.temp[foot] = i ; // 增加元素 this.foot ++ ;// 修改腳標 return true ; }else{ return false ; } } public int[] getArray(){ return this.temp ; } }; class SortArray extends Array{ // 排序類 public SortArray(int len){ super(len) ; } public int[] getArray(){ // 覆寫方法 java.util.Arrays.sort(super.getArray()) ; // 排序操作 return super.getArray() ; } }; class ReverseArray extends Array{ // 反轉操作類 public ReverseArray(int len){ super(len) ; } public int[] getArray() { int t[] = new int[super.getArray().length] ; // 開闢一個新的陣列 int count = t.length - 1 ; for(int x=0 ;x<t.length;x++){ t[count] = super.getArray()[x] ; // 陣列反轉 count-- ; } return t ; } }; public class ArrayDemo{ public static void main(String args[]){ // ReverseArray a = null ; // 宣告反轉類物件 // a = new ReverseArray(5) ; // 開闢5個空間大小 SortArray a = null ; a = new SortArray(5) ; System.out.print(a.add(23) + "\t") ; System.out.print(a.add(21) + "\t") ; System.out.print(a.add(2) + "\t") ; System.out.print(a.add(42) + "\t") ; System.out.print(a.add(5) + "\t") ; System.out.print(a.add(6) + "\t") ; print(a.getArray()) ; } public static void print(int i[]){ // 輸出陣列內容 for(int x=0;x<i.length;x++){ System.out.print(i[x] + "、") ; } } };