Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 产生错误输出的简单数组插入程序_Java_Arrays_Insertion - Fatal编程技术网

Java 产生错误输出的简单数组插入程序

Java 产生错误输出的简单数组插入程序,java,arrays,insertion,Java,Arrays,Insertion,这是一个非常简单的java程序,我声明任何包含7个元素的数组,输入前6个元素,将第4到第6个元素移动到第5到第7个位置,并获取第4个空位置的值: 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.

这是一个非常简单的java程序,我声明任何包含7个元素的数组,输入前6个元素,将第4到第6个元素移动到第5到第7个位置,并获取第4个空位置的值:

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);
inta[]=newint[7];

对于(inti=0;i您的初始循环没有为第7个元素分配任何内容,因此它保持为0

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

 A[i]=A[i+1];
所以第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);
    }

for(int i=0;i您的初始循环没有为第7个元素分配任何内容,因此它保持为0

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

 A[i]=A[i+1];
所以第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);
    }

for(int i=0;i您以错误的方式移动值。使用此代码并理解您的错误:

for(int i=6;i>=3;i--)    //Moving the 4th to 6th elements to 5th to 7th elements
    {
        A[i]=A[i-1];
    }
String a=Biff.readLine();    //Taking input for 4th empty position
A[3]=Integer.parseInt(a);

希望我没有弄错您的问题。

您以错误的方式移动了值。请使用此代码并理解您的错误:

for(int i=6;i>=3;i--)    //Moving the 4th to 6th elements to 5th to 7th elements
    {
        A[i]=A[i-1];
    }
String a=Biff.readLine();    //Taking input for 4th empty position
A[3]=Integer.parseInt(a);

我希望我没有弄错你的问题。

“第六和第七个位置是0”你期望它们是什么?显示你的输入、输出和预期输出,并为我们突出显示差异。“第六和第七个位置是0”您希望它们是什么?显示您的输入、输出和预期输出,并为我们突出显示它们之间的差异。@PeterLawrey没问题:)啊,好吧,但我不能使用.length(),那么我该如何修复它呢?@Aryanpoonacha您总是可以使用7代替length,但length更有意义。@PeterLawrey没问题:)啊,好吧,但我不能使用.length(),那我该怎么解决呢?@Aryanpoonacha你可以用7代替长度,但长度更有意义。试过了,但它仍然使第七个位置的值为0。只有当你输入第六个值0时才会发生这种情况,然后只有第七个值将为0,因为我们正在将第六个值直接复制到第七个值中。再次检查。试过了,但没有成功仍然使第七个位置的值为0。仅当您输入第六个值0时才会发生这种情况,并且只有第七个值将为0,因为我们将直接在第七个值中复制第六个值。请再次检查。