简单数组插入程序产生不正确的输出

Ary*_*cha 1 java arrays insertion

这是一个非常简单的java程序,我在其中声明任何包含7个元素的数组,输入前六个,将第四个元素移动到第六个元素到第五个到第七个位置,并获得第四个空位置的值:

int A[]=new int[7];
        for(int i=0;i<6;i++)
        {
            System.out.println("Enter an integer");
            String a=Biff.readLine();
            A[i]=Integer.parseInt(a);
        }
        for(int i=4;i<6;i++)
        {
            A[i]=A[i+1];
        }
        System.out.println("Enter the integer to be inserted");
        String a=Biff.readLine();
        A[4]=Integer.parseInt(a);
Run Code Online (Sandbox Code Playgroud)

但是,当打印所有数组元素时,第六和第七个位置为0,我不知道为什么.原因和修复将不胜感激.注意:我不能使用任何数组方法,必须保持它非常简单.

  • 输入:1,2,3,4,5,6; 然后1;
  • 期望产出:1,2,3,4,5,1,6;
  • 实际产出:1,2,3,4,1,0,0;

Era*_*ran 5

您的初始循环不会为第7个元素分配任何内容,因此它保持为0.

然后你将第7个元素复制到第6个元素

 A[i]=A[i+1];
Run Code Online (Sandbox Code Playgroud)

所以第6和第7个元素都应该是0.

将循环更改为:

    for(int i=0;i<A.length;i++)
    { //         ^^^^^^^^^------------------------ change is here
        System.out.println("Enter an integer");
        String a=Biff.readLine();
        A[i]=Integer.parseInt(a);
    }
Run Code Online (Sandbox Code Playgroud)