幻黎 2022-01-15 15:32 采纳率: 100%
浏览 79
已结题

莫名其妙的数组越界bug

运行环境Java11,eclipse

问题相关代码,请勿粘贴截图
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int sum = sc.nextInt();
        int b[] = new int[n];
        int c = (int) Math.pow(10, n - 1);
        int f[] = new int[n];
        for (int i = 0; i < Math.pow(10, n); i++) {
            int d = i;
            for (int j = 0; j < b.length; j++) {

                c = (int) Math.pow(10, n - 1 - j);
                b[j] = d / c;
                f[j] = d / c;
                d = d - b[j] * c;

            }

            int t = n;
            int s[] = null;
            for (int l = 0; l < n - 1; l++) {

                s = new int[t - 1];
                for (int j = 0; j < s.length; j++) {
                s[j] = b[j] + b[j + 1];                          
                }
                b = new int[t - 1];
                for (int j = 0; j < s.length; j++) {
                    b[j] = s[j];
                }
                t--;

            }
            if (s[0] == sum) {
                for (int j = 0; j < f.length - 1; j++) {
                    System.out.print(f[j] + " ");
                }
                System.out.println(f[f.length - 1]);
                break;

            }

        }

    }

运行结果及报错内容

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at cn.lqb.lianxi.Shuziyouxi.main(Shuziyouxi.java:31)
错误是上面代码第25行

我的解答思路和尝试过的方法

分成两部分都能正常运行

  • 写回答

2条回答 默认 最新

  • CSDN专家-微编程 2022-01-15 16:45
    关注

    温馨提示:学会使用debug你不吃亏
    idea和eclipse都有,你通过启动debug来排查不很快就明白了吗?
    我输入的数据是 3 4

    img

    img

    img

    t影响了b,请问导致b数组只有b[0],哪来的b[1]?所以b[j+1]=b[1]能不报错吗?

    温馨提示:数组存储的是地址,他和整数常量存储的方式不一样,你改变b就等于改地址,原本最初的定义的是b[3],通过t--,你成功让b数组定义成了b[0],如果有b[1]难道不应该出现数组越界吗?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月23日
  • 已采纳回答 1月15日
  • 修改了问题 1月15日
  • 修改了问题 1月15日
  • 展开全部

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度