求Java高手解题。在线等,急急急急啊!非常感谢。向数组的指定位置插入元素,并输出插入前后数组的值
向数组的指定位置插入元素,并输出插入前后数组的值。方法insertArray()定义如下publicvoidinsertArray(int[]arr,intindex,i...
向数组的指定位置插入元素,并输出插入前后数组的值。
方法insertArray()定义如下
public void insertArray(int []arr,int index,int value) 展开
方法insertArray()定义如下
public void insertArray(int []arr,int index,int value) 展开
展开全部
楼上正解。但却有点儿麻烦
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6};
insertArray(arr,4,78);
}
public static void insertArray(int[] arr, int index, int value) {
int a=arr[index];
arr[index]=value;
System.out.println(a);
System.out.println(arr[index]);
}
这样即可,在你插入之前用变量接收初始值即可,然后重新给arr[index]赋上value值即可。
当然,也许我没有理解楼主的意思…………
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6};
insertArray(arr,4,78);
}
public static void insertArray(int[] arr, int index, int value) {
int a=arr[index];
arr[index]=value;
System.out.println(a);
System.out.println(arr[index]);
}
这样即可,在你插入之前用变量接收初始值即可,然后重新给arr[index]赋上value值即可。
当然,也许我没有理解楼主的意思…………
展开全部
完整程序如下:
public class test {
/**
* @param args
*/
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5, 6 };
insertArray(arr, 4, 20);
}
public static void insertArray(int[] arr, int index, int value) {
int intArr = arr.length;
int[] newArr = new int[intArr + 1];
for (int i = 0; i < index - 1; i++) {
newArr[i] = arr[i];
}
for (int i = intArr; i >= index; i--) {
newArr[i] = arr[i - 1];
}
newArr[index - 1] = value;
System.out.println("*** newArr[index-2]= " + newArr[index - 2]);
System.out.println("*** newArr[index-1]= " + newArr[index - 1]);
System.out.println("*** newArr[index]= " + newArr[index]);
for (int i = 0; i < newArr.length; i++) {
System.out.println("*** newArr[" + i + "] = " + newArr[i]);
}
}
}
运行结果如下:
*** newArr[index-2]= 3
*** newArr[index-1]= 20
*** newArr[index]= 4
*** newArr[0] = 1
*** newArr[1] = 2
*** newArr[2] = 3
*** newArr[3] = 20
*** newArr[4] = 4
*** newArr[5] = 5
*** newArr[6] = 6
public class test {
/**
* @param args
*/
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5, 6 };
insertArray(arr, 4, 20);
}
public static void insertArray(int[] arr, int index, int value) {
int intArr = arr.length;
int[] newArr = new int[intArr + 1];
for (int i = 0; i < index - 1; i++) {
newArr[i] = arr[i];
}
for (int i = intArr; i >= index; i--) {
newArr[i] = arr[i - 1];
}
newArr[index - 1] = value;
System.out.println("*** newArr[index-2]= " + newArr[index - 2]);
System.out.println("*** newArr[index-1]= " + newArr[index - 1]);
System.out.println("*** newArr[index]= " + newArr[index]);
for (int i = 0; i < newArr.length; i++) {
System.out.println("*** newArr[" + i + "] = " + newArr[i]);
}
}
}
运行结果如下:
*** newArr[index-2]= 3
*** newArr[index-1]= 20
*** newArr[index]= 4
*** newArr[0] = 1
*** newArr[1] = 2
*** newArr[2] = 3
*** newArr[3] = 20
*** newArr[4] = 4
*** newArr[5] = 5
*** newArr[6] = 6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
int a=9;
int b=5;
int c=2;
int d=7;
int []sult=new int[4];
for(int i=0;i<sult.length;i++)
{
switch(i)
{
case 0:
sult[i]=a;
continue;
case 1:
sult[i]=b;
continue;
case 2:
sult[i]=c;
continue;
case 3:
sult[i]=d;
continue;
default:System.out.println("有问题");
}
}
System.out.print("你要的结果是:");
for(int i=0;i<sult.length;i++)
{
System.out.print(sult[i]);
}
}
按照要求做的,但是把简单问题复杂化了!
2011年
int a=9;
int b=5;
int c=2;
int d=7;
int []sult=new int[4];
for(int i=0;i<sult.length;i++)
{
switch(i)
{
case 0:
sult[i]=a;
continue;
case 1:
sult[i]=b;
continue;
case 2:
sult[i]=c;
continue;
case 3:
sult[i]=d;
continue;
default:System.out.println("有问题");
}
}
System.out.print("你要的结果是:");
for(int i=0;i<sult.length;i++)
{
System.out.print(sult[i]);
}
}
按照要求做的,但是把简单问题复杂化了!
2011年
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在同一个数组里修改 或者 分开成两个数组 后者思路比较清晰
int nArr[] = new int[arr.length+1];
for(int i = 0;i<index;i++){
nArr[i] = arr[i];
}
nArr[index] = value;
for(int i = index+1;i<arr.length;i++){
nArr[i] = arr[i];
}
nArr是插入元素后的数组
int nArr[] = new int[arr.length+1];
for(int i = 0;i<index;i++){
nArr[i] = arr[i];
}
nArr[index] = value;
for(int i = index+1;i<arr.length;i++){
nArr[i] = arr[i];
}
nArr是插入元素后的数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
index 代表位置,value代表值
System.out.println("前一个数"+arr[index-1]);
System.out.println("后一个数"+arr[index+1]);
arr[index]=value;//设置指定下标的值
System.out.println("前一个数"+arr[index-1]);
System.out.println("后一个数"+arr[index+1]);
arr[index]=value;//设置指定下标的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是将原数组扩展一个,到插入的位置,先放入新值,再跟着放原来的值。代码就算了。
追问
谢谢,不过我不是找人给我说明题目啊!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询