程序入口:
import Myuntil.Arrayuntil;
import java.lang.reflect.Array;
public class ObjectArray {
public static void main(String [] args){
Arrayuntil arr = new Arrayuntil();
arr.add(10);
arr.add(2);
arr.add(3);
System.out.println(arr.Size());
// arr.delete(3);
System.out.println(arr.getIndex(1));
arr.addNumOfIndex(1,20);
arr.replaceNum(0,100);
arr.show();
}
}
数组对象
package Myuntil;
import sun.font.DelegatingShape;
import java.util.Arrays;
public class Arrayuntil {
private int [] elements;
public Arrayuntil(){//构造函数//当新建对象的时候,直接就把对象变为数组了
elements = new int [0];
}
//数组的长度
public int Size(){
return elements.length;
}
//添加数组
public void add(int a ){
int [] newArr = new int [elements.length+1];
for (int i = 0; i <newArr.length ; i++) {
if(i<elements.length){
newArr[i]=elements[i];
}else {
newArr[i] = a;
}
}
elements = newArr;
}
//打印数组到控制台
public void show(){
System.out.println(Arrays.toString(elements));
}
//接受要删除数组的下标
public void delete(int a){
if(a<0||a>elements.length-1){
throw new RuntimeException("删除错误");
}else{
int [] newArr = new int [elements.length-1];
for(int i=0;i<newArr.length;i++){
if(i<a-1){
newArr[i] = elements[i];
}else{
newArr[i]= elements[i+1];
}
}
elements = newArr;
}
}
//获取下标对应的元素
public int getIndex(int index){
if(index<0||index>elements.length-1){
throw new RuntimeException("下标错误");
}
return elements[index];
}
//指定位置添加元素
public void addNumOfIndex(int index,int num){
if(index<0||index>elements.length-1){
throw new RuntimeException("添加错误");
}
int [] newArr = new int [elements.length+1];
for (int i = 0; i <newArr.length ; i++) {
if(i<index){
newArr[i] = elements[i];
}else if(i==index){
newArr[i]=num;
}else{
newArr[i]=elements[i-1];
}
}
elements = newArr;
}
//替换指定位置的元素
public void replaceNum(int index,int num){
if(index<0||index>elements.length-1){
throw new RuntimeException("索引错误");
}
elements[index] = num;
}
}