作业中的插入一个数字的方法,覆盖了原数据

作业中的插入一个数字的方法,覆盖了原数据

public void insertAtArray(int[]n){

  System.out.println("请输入请要插入的数字");

  Scanner scanner =new Scanner(System.in);

  int m=scanner.nextInt();

  System.out.println("请输入请要插入的位置");

  Scanner scanner1 =new Scanner(System.in);

  int k=scanner1.nextInt();

  for(int i=n.length-1;i>=k;i--){            

  n[i]=n[i-1];                      

  }

  n[k]=m;

   }


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
一叶知秋519 2017-09-19 15:21:34

你好,按位置插入数据的方法这么写是没有问题,另外m,k可以不写在方法的参数中,也可以写到方法的参数中,两种方法都可以;只要实现了移位,就达到了题目要求。

鬼鬼qiang 2017-09-19 14:17:40

我的注释都打的好好的你仔细看看就知道了


  • 是一样的 和参数没关系,我没弄参数一样也能 插入数字, 只不过 会覆盖 原来的那个
    2017-09-19 14:46:50
鬼鬼qiang 2017-09-19 14:16:16

public void insertAtArray(int[]arr,int n,int k){

你的参数里面没有定义你要插入什么 和插在什么位置

  • 你定义了的话,最后引用怎么引用 case 3: test.insertAtArray(m1, , ); 不是固定了嘛 , 小白不懂
    2017-09-19 14:24:42
鬼鬼qiang 2017-09-19 13:51:40

/*

* 第一个参数表示要插入数据的数组

* 第二个要插入的数据

* 第三个参数是插入数据的位置

* 在指定位置插入数据

*/

public void insertAtArray(int[]arr,int n,int k){

System.out.println("请输入要插入的数据:");

 Scanner as=new Scanner(System.in);

 n=as.nextInt();

 System.out.println("请输入要插入数据的位置:");

 k=as.nextInt();

 for(int i=(arr.length-1);i>=k;i--) {

  arr[i]=arr[i-1];

 }

 arr[k]=n;

}


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师