java吧 关注:1,257,313贴子:12,749,822
  • 6回复贴,共1

才学java,好多不懂了,来请教一下大佬们

只看楼主收藏回复

我想让它显示2,4一直到14一共7个数,但是为什么只出来3个,然后我最后因为数列中没有0,我想加在最前面,但是只能加在最后面,而且多了好几个。
实在不会了,求求大佬们帮帮忙


IP属地:加拿大来自iPhone客户端1楼2021-01-15 08:54回复
    1.create方法的问题
    for(int i=2;i<size;i+= 2){//当为第4个数8时,已经不满足i<size这个条件了,所以只打印3个数
    }
    1.1 修改1
    int num = 2;
    for(int i=0;i<size;i++){
    a[i] = num;
    num += 2;
    }
    1.2 修改2
    for(int i=2;i<=2*size;i+=2){
    a[i/2 -1] = i;
    }
    2.print方法也要修改
    2.1 循环从第一个元素开始打印
    for(int i=0;i<a.length;i++){
    System.out.print(a[i]+" ");
    }
    2.2 采用Arrays输出
    ...print(int[] a){System.out.println(Arrays.toString(a));}
    3.grow方法的问题
    3.1
    ...grow(int[] a){
    int[] b = new int[a.length+1]
    b[0] = 0;//把数组第一个元素赋值为0,这句可以不要,因为新数组,默认值就是0
    for(int i=0;i<a.length;i++){
    b[i+1] = a[i]
    }
    return b;
    }
    3.2 使用system.arraycopy
    ...grow(int[] a){
    int[] b = new int[a.length+1];
    System.arraycopy(a,0,b,1,a.length);//省略给b[0] = 0,参照上面的原因
    return b;
    }
    这些东西都很基础,随便手打的,要是看不明白,带带你


    2楼2021-01-15 10:42
    收起回复