Правильное форматирование кода:
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};
}