数组练习---------面向对象的数组

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;
        }
        
}
 

猜你喜欢

转载自blog.csdn.net/weixin_42133768/article/details/86620221