java - 我可以在 if 语句中声明一个数组吗?
问题描述
class Solution {
public int[] twoSum(int[] nums, int target) {
for (int i=0; i<= nums.length()-1;i++){
for (int j =i+1 ; j <= nums.length()-2; j++){
if((nums[i]+nums[j]) == target )
int [] r = {i , j};
return r;
}
}
}
}
...
我编写了以下代码,但在 if 语句中出现错误。我正在尝试解决 leetcode 上的一个问题,但我遇到了一个错误:
第 9 行:错误:此处不允许变量声明 int [] r = {i , j}; ^
我能做些什么来解决它,为什么我会遇到这个错误?
解决方案
正确格式化代码:
if ((nums[i]+nums[j]) == target)
int [] r = {i , j}; // only has scope during declaration
return r; // oops! r is out of scope
编译错误是由于r
在其声明之外没有任何范围引起的。
要修复,要么:
if ((nums[i]+nums[j]) == target) {
int [] r = {i , j};
return r;
}
或者
if ((nums[i]+nums[j]) == target) {
return new int[]{i , j};
}
推荐阅读
- c++ - 我的输出中有一个额外的 0,这是为什么
- php - 记录 phpmyadmin 的失败登录尝试
- c# - MVC C# nameof() 部分添加 @Html.Hidden 未按预期工作
- bash - 如何grep单引号之间的所有内容?
- ajax - 将 JavaScript 数组或对象发送到 Django 视图
- php - 我的 Facebook 应用需要上线吗?
- php - Symfony4 / Doctrine2 上具有可变数量标准的表格
- python-3.x - 通过迭代文件来比较不同路径中具有相同名称的两种不同文件类型
- php - 计算多维数组中的数据
- java - 在 Google Drive 文件夹中创建文件