黑马程序员技术交流社区
标题:
将一个父类中的数组排序,利用下面的SortArray和ReverseArray
[打印本页]
作者:
张吉日
时间:
2012-10-19 21:18
标题:
将一个父类中的数组排序,利用下面的SortArray和ReverseArray
我这里有三个类,一个Array,一个SortArray,一个ReverseArray ,我想利用 SortArray和ReverseArray类,对Array类的temp数组进行排序后在反转,我研究半天没弄出来 这个可以实现吗?希望大虾能帮下忙
import java.util.Arrays;
class Array{
private int[] temp = null; // 只是声明一个数组.但是大小未知
private int foot = 0; // 用于保存下一个的记录点
public Array(int len){
if(len > 0){
temp = new int[len]; // 此时大小由外部决定
}else{
temp = new int[1]; // 至少开辟一个空间
}
}
/*
* 加入数据操作
*/
public boolean add(int i){
if(foot < temp.length){ // 还有空位
temp[foot] = i; // 加入内容
foot++; // 改变长度,自增
return true; // 加入成功返回true
}else{
return false; //加入失败
}
}
/*
* 返回全部的数组
*/
public int[] getArray(){
return temp;
}
}
/*
* 定义排序类
*/
class SortArray extends Array{
public SortArray(int len){
super(len);
}
/*
* 对数组进行排序
*/
public int[] getArray(){
Arrays.sort(super.getArray()); // 排序操作
// System.out.println(Arrays.toString(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; // count等于最后一个角标.
for(int x = 0;x<super.getArray().length;x++){
rt[count] = super.getArray()[x]; // 反转
count --;
}
return rt;
}
}
public class ArrayDemo {
public static void main(String[] args) {
Array arr = new Array(6);
arr.add(3);
arr.add(23);
arr.add(1);
arr.add(5);
arr.add(6);
arr.add(8);
arr.add(11);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2