您的位置:首页 > 其它

2016-01-23

2016-03-15 21:29 344 查看
现在要求定义一个数组类(Array),里面定义了一个整形数组,但是此数组属于动态分配大小

及所有的大小由程序定义,并在此基础上实现以下两个子类

·反转类:将数组的内容反转呈现

·排序类:可以将数组进行排序呈现

package com.mz;

import java.util.Arrays;

class Array{

private int temp[]=null;//声明数组,大小未知
private
int foot=0;//用于保存下一个的记录点
public
Array(int len){
if(len>0){
this.temp=new
int[len];//此时大小由外部决定
}else{
this.temp=new
int[1];//至少开辟一个空间
}
}
public
boolean add(int i){//加入数据操作
if(this.foot
this.temp[this.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(){
Arrays.sort(super.getArray());//排序操作
return
super.getArray();//返回的是排序后的内容
}

}

class ReverseArray extends Array{
public
ReverseArray(int len){
super(len);
}
public
int[] getArray(){
int
rt[]=new int[super.getArray().length];
int
count=rt.length-1;
for(int
x=0;x
rt[count]=super.getArray()[x];
count--;
}
return
rt;
}

}

public class ArrayDemo01 {
public
static void main(String args[]){
Array
arr=new Array(3);
System.out.println(arr.add(45));
System.out.println(arr.add(5));
System.out.println(arr.add(6));
System.out.println(arr.add(5));
print(arr.getArray());
SortArray
arr2=new SortArray(3);
System.out.println(arr2.add(45));
System.out.println(arr2.add(5));
System.out.println(arr2.add(6));
System.out.println(arr2.add(5));
print(arr2.getArray());
ReverseArray
arr3=new ReverseArray(3);
System.out.println(arr3.add(45));
System.out.println(arr3.add(5));
System.out.println(arr3.add(6));
System.out.println(arr3.add(5));
print(arr3.getArray());
}
public
static void print(int i[]){
for(int
x=0;x
System.out.print(i[x]+"、");
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: