请问这个方法里是不是有地方没写对啊

请问这个方法里是不是有地方没写对啊

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

Scanner iat = new Scanner(System.in);

System.out.println("在哪个位置插入数据:");

n=iat.nextInt();

System.out.println("插入数字为:");

k=iat.nextInt();

for(int i=0;n+i<a.length;i++) {

a[n+i+1]=a[n+i];

}

a[n]=k;

}


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

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

1回答
好帮手慕珊 2017-11-12 11:33:24

出现了什么问题吗?只从这段代码上看,case语句后面都没有break

如果还有其他问题,请贴完整代码,便于调试。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 shihao丶H #1
    请帮我重新看下问题,刚刚主方法里的问题已经解决了,现在有了新的问题
    2017-11-12 11:46:10
  • 好帮手慕珊 回复 提问者 shihao丶H #2
    是数组下标越界了吗?循环条件写的有问题,思路也不太多,可以按下面的思路进行循环:循环变量i初识值为a.length-1,判断条件是i>=k; i的值是递减的,循环体中的内容就是把前一个元素的值赋值给后一个元素,即a[i]=a[i-1];这样就达到了移位的效果。循环外将n赋值给a[k]
    2017-11-13 10:26:52
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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