很多问题搞不懂

很多问题搞不懂

http://img1.sycdn.imooc.com//climg/5bd095090001cfd010001334.jpg
1 为什么第一个方法下面会出现乱码
2为什么第二个for循环可以把之前输入的值输出 定义j是控制什么的?
3后面几个方法参数里都有数组 可是数组不是主方法里去给值的吗?比如显示数组的方法,那怎么把第一个方法里输入的数输出?
4插入数据的方法没思路 请问怎样做?经常拿到题没思路 不知道自己定义一个i是干嘛的?为什么要定义i?

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

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

2回答
好帮手慕珊 2018-10-29 09:58:35

你好!关于循环的执行流程,以你上面已经写好的输出数组元素的循环为例。这个循环的i是从0开始,然后执行判断条件i<a.length,满足条件,执行循环体,输出数组元素a[0],然后再执行i++,i的值编程1,继续进行判断i<a.length,满足条件,继续输出a[1],然后再执行i++,i的值变为2,......

这样执行下去直到i的值大于a.length退出循环。这就是基本的循环执行流程。

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

   System.out.println(a[i]+" ");

}

对于指定位置插入数据的循环,可以跟上面的循环对比,上面的循环变量i的初始值是0,现在变成a.length-1,也就是数组从后往前循环,判断条件是i>=k,因为是从后往前,i的值越来越小,所以是i--。而因为要移位,循环体的内容就是a[i]=a[i-1]。

祝学习愉快!



好帮手慕查理 2018-10-25 10:49:13

您好,1.所说的乱码是指什么?并没有在截图上清楚地看到,请复制粘贴代码以便测试是否出现乱码。

2.第二个for循环是指插入数据方法中的展示数据吗?因为之前插入的数据放在了数组a中,而此时循环数组a所以可以把数据输出。变量j控制的是数组的下标和循环的次数,从0开始,每循环一次进行j++,直到j<a.length-1循环结束。

3.是在主方法中进行传值。插入数据之后return回数组a即可,并在主方法中接收return回的数组。

4.插入数据的方法不是已经完成了?是指插入指定数据思路不会?请具体反馈。

5.拿到题没有思路可以在问答区进行提问,老师会帮助理解思路。但是同学自己定义的变量的作用要自己知道。

祝学习愉快!

  • 提问者 SomnusL #1
    我是说第一个方法输出后后面有串[I@74a14482 的代码 不懂的是那个在指定的是数后面插入数据的方法怎么写
    2018-10-26 00:05:14
  • 提问者 SomnusL #2
    还有第三点也不是很明白怎么return
    2018-10-26 00:10:40
  • 好帮手慕查理 回复 提问者 SomnusL #3
    您好,1.您需要反馈您的全部代码,我们才能测试是否同样会出现乱码,以及根据代码判断为何出现乱码。2.在指定位置处插入数据的方法,不是直接把指定位置处的数据覆盖,而是要把数据往后移动一位,然后再赋值。可以使用这种思路完成:定义一个for循环,循环变量i初始值为a.length-1,判断条件是i>=k; i的值是递减的,循环体中的内容就是把前一个元素的值赋值给后一个元素,即a[i]=a[i-1];这样就达到了移位的效果。循环外将n赋值给a[k]。(a表示数组,k表示指定的位置,n表示指定的数据)3.你的insertdata方法最后就return回了数组a。在主方法中接收return回的数组即可。祝学习愉快!
    2018-10-26 11:02:36
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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