Java 产生错误输出的简单数组插入程序
这是一个非常简单的java程序,我声明任何包含7个元素的数组,输入前6个元素,将第4到第6个元素移动到第5到第7个位置,并获取第4个空位置的值: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.
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,因为我们将直接在第七个值中复制第六个值。请再次检查。