递归检查数组是否包含 0 (java)
recursively check if array contains 0 (java)
如果数组中至少有一个 0,我的方法应该 return 为真,否则为假。但是我的代码无法编译。为什么它抱怨我的方法不是 returning 布尔值?谁能帮忙?谢谢
public boolean containsZero(int [] array, int i)
{
if (i < array.length)
{
if (array[i] == 0)
return true;
else
return containsZero(array, (i+1));
}
}
抱怨你的方法没有 return 布尔值,因为如果 i >= array.length
你的方法没有 return 任何东西。
你非常接近,想象一下如果你的外部 if-condition
是假的会发生什么?
public boolean containsZero(int[] array, int i)
{
if (i < array.length)
{
if (array[i] == 0)
return true;
else
return containsZero(array, i+1);
}
return false;
}
您缺少一个基本案例。如果你的 i 等于 array.length 你会想要 return false 因为你从来没有达到 0
if (i < array.length)
{
if (array[i] == 0)
return true;
else
return containsZero(array, (i+1));
}
else
{
return false;
}
如果数组中至少有一个 0,我的方法应该 return 为真,否则为假。但是我的代码无法编译。为什么它抱怨我的方法不是 returning 布尔值?谁能帮忙?谢谢
public boolean containsZero(int [] array, int i)
{
if (i < array.length)
{
if (array[i] == 0)
return true;
else
return containsZero(array, (i+1));
}
}
抱怨你的方法没有 return 布尔值,因为如果 i >= array.length
你的方法没有 return 任何东西。
你非常接近,想象一下如果你的外部 if-condition
是假的会发生什么?
public boolean containsZero(int[] array, int i)
{
if (i < array.length)
{
if (array[i] == 0)
return true;
else
return containsZero(array, i+1);
}
return false;
}
您缺少一个基本案例。如果你的 i 等于 array.length 你会想要 return false 因为你从来没有达到 0
if (i < array.length)
{
if (array[i] == 0)
return true;
else
return containsZero(array, (i+1));
}
else
{
return false;
}