简单的数组插入程序产生不正确的输出
Simple Array Insertion Program Producing Incorrect Output
这是一个非常简单的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);
但是,打印完所有数组元素后,第六和第七位都是0,我也不知道为什么。原因和修复将不胜感激。
注意:我不能使用任何数组方法,必须保持非常简单。
- 输入:1,2,3,4,5,6;然后 1;
- 期望输出:1,2,3,4,5,1,6;
- 实际输出:1,2,3,4,1,0,0;
你的初始循环没有给第 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=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);
希望我答对了你的问题。
这是一个非常简单的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);
但是,打印完所有数组元素后,第六和第七位都是0,我也不知道为什么。原因和修复将不胜感激。 注意:我不能使用任何数组方法,必须保持非常简单。
- 输入:1,2,3,4,5,6;然后 1;
- 期望输出:1,2,3,4,5,1,6;
- 实际输出:1,2,3,4,1,0,0;
你的初始循环没有给第 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=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);
希望我答对了你的问题。