You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java代码报Unreachable Statement错误 无前置死循环或返回语句如何修复

Java不可达语句错误修复方案

错误原因

你代码中所有switch分支末尾的continue关键字使用错误:
continue作用于外层的for (int i = 0; i < runs.length; i++)循环,只要第一个switch执行,不管命中哪个分支,都会直接结束当前i的循环迭代,跳去执行下一轮i的逻辑,因此第一个switch后面的第二个switch、System.out.println代码永远不会被执行,触发不可达语句报错。

修复方法

将所有switch代码块内分支末尾的continue替换为break即可:
break的作用是仅终止当前switch的执行,不会中断外层for循环的后续代码,修改后第一个switch执行完成后会自动继续执行后面的第二个switch和打印语句。

修复后核心代码示例

else if(runs[i].length() == 3) {
    // 第一个switch,所有continue替换为break
    switch (runs[i].charAt(1)) {
        case '0':
            tempData.add((byte) 0xA);
            break;
        case '1':
            tempData.add((byte) 0xB);
            break;
        case '2':
            tempData.add((byte) 0xC);
            break;
        default:
            break;
    }
    // 第二个switch可以正常执行
    switch (runs[i].charAt(2)) {
        case 'A':
            tempData.add((byte) 0xA); 
            break;
        case 'B':
            tempData.add((byte) 0xB);
            break;
        default:
            break;
    }
    // 打印语句可以正常执行
    System.out.println("We Made It!");
}

同时需要将if分支里的内层switch的所有continue也替换为break,避免其他逻辑异常。

内容的提问来源于stack exchange,提问作者Felix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:48:03