------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
定义一个整型数组类,要求包含构造方法,增加数据及输出数据的成员方法,并利用数组实现动态内存分配并定义一下两个类。
package com.itheima;
class Array {
private int temp[]; // 定义一个整型数组,此数组大小由外部决定
private int foot; // 定义数组添加的下标
public Array(int len) { // 数组的大小由外部决定
if (len > 0) { // 判断传入的长度是否大于0
this.temp = new int[len]; // 根据传入的大小开辟空间
} else {
this.temp = new int[1]; // 最小维持一个空间
}
}
public boolean add(int i) {
if (this.foot < this.temp.length) { // 判断数组是否已满。如果temp=5的话,就是说数组中该放第6个数了。当foot
// 和temp.length相同时说明数组满了
this.temp[foot] = i; // 没有存满就继续添加
foot++; // 修改下标
return true; // 添加成功
} else { // 数组已经填满,不能再添加
return false; // 添加失败
}
}
public int[] getArray() { // 得到全部数组
return this.temp;
}
}
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; // 【】里边的数比length小1
for (int i = 0; i < t.length; i++) {
t[count] = super.getArray()[i]; // 将数组反转
count--;
}
return t;
}
}
class SortArray extends Array { // 定义排序类
public SortArray(int len) { // 调用父类中的构造方法
super(len); // 为数组开辟大小
}
public int[] getArray() { // 覆写得到的数组方法,排序返回
java.util.Arrays.sort(super.getArray()); // 排序操作
return super.getArray();
}
}
public class MyDemo {
public static void main(String[] args) {
ReverseArray ra = new ReverseArray(5); // 实例化反转对象
System.out.print(ra.add(12) + "\t"); // 添加内容
System.out.print(ra.add(22) + "\t");
System.out.print(ra.add(32) + "\t");
System.out.print(ra.add(42) + "\t");
System.out.print(ra.add(52) + "\t");
System.out.print(ra.add(62) + "\t"); // 开辟5个空间,放入第6个时返回false
print(ra.getArray()); // 输出内容
/*
* SortArray sa=new SortArray(5); System.out.print(sa.add(12)+"\t");
* System.out.print(sa.add(22)+"\t"); System.out.print(sa.add(78)+"\t");
* System.out.print(sa.add(42)+"\t"); System.out.print(sa.add(52)+"\t");
* System.out.print(sa.add(62)+"\t"); print1(sa.getArray());
*/
}
public static void print(int i[]) {
for (int x : i) {
System.out.print(x + "\t");
}
}
/*
* public static void print1(int j[]){ for(int y:j){
* System.out.print(y+"\t"); } }
*/
}