这段代码有什么问题?
if(a.length >= 2)
int[] c = new int[]{a[0],a[1]};
return c;
它似乎一直认为上面代码的第二行是错误的,特别是 int[] 语句(定义一个数组)。数组 a 已定义。
该变量c
仅存在于if
块的范围内。您可以return
立即使用。
if(a.length >= 2)
return new int[]{a[0], a[1]};
请使用 { 和 }
你写:
if(a.length >= 2)
int[] c = new int[]{a[0],a[1]};
return c;
这表示:
仅当您的数组 a 具有两个或多个元素时才定义 int[] c。
但是你总是返回 c。
如果您使用 { 和 },您的代码将变为:
if(a.length >= 2) {
int[] c = new int[]{a[0],a[1]};
}
return c;
你读得更好你的错误。
解决方案:
int[] c = null;
if(a.length >= 2) {
c = new int[]{a[0],a[1]};
}
return c;