我的代碼不斷髮出編譯錯誤,說「局部變量newi可能沒有被初始化」,我無法弄清楚如何解決它。 任務是:給定一個任意長度的int數組,返回一個新的前兩個元素數組。如果數組小於長度2,則使用任何存在的元素。返回數組無法正常工作
我的代碼是:
public int[] frontPiece(int[] nums) {
int[] newi;
if (nums.length >= 2)
{
for(int i = 0; i < 2; i++)
{
newi = new int[2];
newi[i] = nums[i];
}
}
else
{
for(int i = 0; i < nums.length; i++)
{
newi = new int[nums.length];
newi[i] = nums[i];
}
}
return newi;
}
編譯器是正確的。如果'nums'爲空(長度爲零),那麼'newi'不會被初始化。你需要提供一個初始值(如'null'或'{}')。 – Thilo
此外,您正在每個循環迭代中創建一個新數組。這看起來不正確。 – Thilo
[爲什麼需要初始化局部變量](http://stackoverflow.com/q/415687/4506140) –