You need to enable JavaScript to run this app. LeetCode两数之和Java实现变量报错及返回值异常问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

LeetCode两数之和Java实现变量报错及返回值异常问题咨询

问题解答

初始代码报变量找不到错误的原因

你定义的存储数组长度的变量名为lnght,但在双层for循环的终止条件中拼写为lngth,二者拼写不一致属于笔误,Java编译器无法找到对应名称的变量,因此抛出「cannot find symbol」错误。

必须补充循环外return语句的原因

  • Java为静态强类型编译语言,编译阶段会严格校验方法的所有执行路径是否符合返回值声明要求。你声明的twoSum方法返回值为int[]类型,仅在if条件命中的分支内写了return语句,当双层循环遍历完全部元素都未命中if条件时,代码会执行到循环外的区域,此时没有对应返回值,不符合Java语法规范,因此无法通过编译。
  • 虽然LeetCode的Two Sum题目规则明确保证输入一定存在唯一解,不会出现遍历无结果的场景,但Java编译器不会感知业务题目的特殊规则,只会按照通用语法要求校验所有执行路径的合法性,因此必须补充循环外的返回语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 01:06:03