package 数组练习;
import java.util.Arrays;
import javax.management.RuntimeErrorException;
//面向对象的数组
public class test3 {
public static void main(String[] args) {
test3 t=new test3();
//获取长度
int size=t.size();
System.out.println("数组的长度为"+size);
System.out.println("原数组里面的元素为:");
t.Show();
//添加一个元素
t.add(20);
t.add(99);
t.add(86);
t.add(23);
t.add(25);
//检验添加新的元素之后的数组长度
System.out.println("添加之后新数组的长度为:"+t.size());
//打印新数组
System.out.println("添加之后数组里面的元素为:");
t.Show();
//删除检验
t.delete(0);
System.out.println("删除之后的数组的长度为:"+t.size());
System.out.println("删除之后的数组里面的元素为:");
t.Show();
//t.delete(20);//执行越界操作抛异常
//得到元素检验
System.out.println("得到的元素为:"+t.get(1));
//插入操作的检验
t.Insert(2, 520);
t.Show();
}
private int[] elements;
public test3()
{
elements=new int[0];
}
//获取数组的长度
public int size()
{
return elements.length;
}
//往数组的末尾添加一个元素
public void add(int element)
{
//创建一个新的数组
int newArr[]=new int[elements.length+1];
//将原数据放入到新数组里面
for(int i=0;i<elements.length;i++)
{
newArr[i]=elements[i];
}
//将要添加的元素放在新数组里面
newArr[elements.length]=element;
//将新数组代替旧数组
elements=newArr;
}
//打印一下数组中的元素
public void Show()
{
System.out.println(Arrays.toString(elements));
}
//删除数组中的某一个元素
public void delete(int index)
{
//判断是否越界
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
{
newArr[i]=elements[i+1];
}
}
//将新数组代替旧数组
elements=newArr;
}
//获取某个元素
public int get(int index)
{
//判断是否越界
if(index<0||index>elements.length-1)
{
throw new RuntimeException("数组越界,操作错误");
}
return elements[index];
}
//插入元素到数组的指定位置
public void Insert(int index,int element)
{
int newArr[]=new int[elements.length+1];
for(int i=0;i<elements.length;i++)
{
if(i<index)
{
newArr[i]=elements[i];
}
else
{
newArr[i+1]=elements[i];
}
}
//插入新的元素
newArr[index]=element;
//新数组替换旧数组
elements=newArr;
}
//替换数组中某个指定位置的元素、
public void exchange(int index,int element)
{
//判断是否越界
if(index<0||index>elements.length-1)
{
throw new RuntimeException("数组越界,操作错误");
}
elements[index]=element;
}
}