A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我这里有三个类,一个Array,一个SortArray,一个ReverseArray ,我想利用 SortArray和ReverseArray类,对Array类的temp数组进行排序后在反转,我研究半天没弄出来 这个可以实现吗?希望大虾能帮下忙
  1. import java.util.Arrays;

  2. class Array{
  3.         private int[] temp = null;                // 只是声明一个数组.但是大小未知
  4.         private int foot = 0;                        // 用于保存下一个的记录点
  5.        
  6.         public Array(int len){
  7.                 if(len > 0){
  8.                         temp = new int[len];        // 此时大小由外部决定
  9.                 }else{
  10.                         temp = new int[1];                // 至少开辟一个空间
  11.                 }
  12.         }
  13.        
  14.         /*
  15.          * 加入数据操作
  16.          */
  17.         public boolean add(int i){
  18.                 if(foot < temp.length){                // 还有空位
  19.                         temp[foot] = i;                        // 加入内容
  20.                         foot++;                                        // 改变长度,自增
  21.                          
  22.                         return true;                        // 加入成功返回true
  23.                 }else{
  24.                         return false;                        //加入失败
  25.                 }
  26.         }
  27.         /*
  28.          * 返回全部的数组
  29.          */
  30.         public int[] getArray(){
  31.                 return temp;
  32.         }
  33. }       

  34. /*
  35. * 定义排序类
  36. */
  37. class SortArray extends Array{
  38.         public SortArray(int len){
  39.                 super(len);
  40.         }
  41.         /*
  42.          * 对数组进行排序
  43.          */
  44.         public int[] getArray(){
  45.                 Arrays.sort(super.getArray());        // 排序操作
  46. //                System.out.println(Arrays.toString(super.getArray()));
  47.                 return super.getArray();                // 返回的是排序后的内容
  48.         }
  49. }

  50. /*
  51. * 反转类
  52. */
  53. class  ReverseArray extends Array{
  54.         public ReverseArray(int len){
  55.                 super(len);
  56.         }
  57.        
  58.         public int[] getArray(){
  59.                 int rt[] = new int[super.getArray().length]; // 根据大小开辟空间
  60.                 int count = rt.length-1;                // count等于最后一个角标.
  61.                 for(int x = 0;x<super.getArray().length;x++){
  62.                         rt[count] = super.getArray()[x];                 // 反转
  63.                         count --;
  64.                 }
  65.                
  66.                 return rt;
  67.         }
  68. }

  69. public class ArrayDemo {

  70.         public static void main(String[] args) {
  71.                 Array arr = new Array(6);
  72.                
  73.                 arr.add(3);
  74.                 arr.add(23);
  75.                 arr.add(1);
  76.                 arr.add(5);
  77.                 arr.add(6);
  78.                 arr.add(8);
  79.                 arr.add(11);
  80.                

  81.         }

  82. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马