对数组的任意位置上的增加

糊糊图 2020-02-10 06:21:54
这语法逻辑有问题吗?我自己感觉没有,但是为什么运行不出呢?求大佬指教
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2020-02-11
  • 打赏
  • 举报
回复
引用 楼主 JAVAlowStudent 的回复:
这语法逻辑有问题吗?我自己感觉没有,但是为什么运行不出呢?求大佬指教
你小小短程错误2处 首先for(int i=0;i<a.length-1;i++) a.length-1=4,b[5]会没被赋值变0; 第2,下面当i大于2时就是死循环这里应该用if

	while(i>=2) {
				b[i+1]=a[i];
				continue;
			}
正确的程序应该是

public class Test7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] a= {12,23,45,76,123};
		int[] b=new int[a.length+1];
		for(int i=0;i<a.length;i++) {
			if(i>=2) {
				b[i+1]=a[i];
				continue;
			}
			b[i]=a[i];
		}
		b[2]=99;
       for(int items:b) {
    	   System.out.println(items);
       }
	}
}
糊糊图 2020-02-10
  • 打赏
  • 举报
回复
引用 1 楼 哦 泄特的回复:
你for里面的i第一次循环的值为0,而你的while第一次循环时i的值不大于等于2,所以无法循环
不进入循环,下边b[i]=a[i]不会执行吗?我把下面的放上来好像也不行
哦 泄特 2020-02-10
  • 打赏
  • 举报
回复
你for里面的i第一次循环的值为0,而你的while第一次循环时i的值不大于等于2,所以无法循环

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧