public static void what(int[] arr, int i)
{
if (i == 0)
return;
arr[arr.length - i] = i;
i--;
what(arr, i); // recursive method call
}我这里的东西没有改变任何东西,数组保持不变,并且ai不= i。我的逻辑是错误的,有什么帮助吗?
在前面的代码中,我必须将int数组中的元素设置为零,从而清除该数组。我也将其用作此初始化的基础。
发布于 2013-11-23 02:56:59
如果您想要ai =i,则更改为:
public static void what(int[] arr, int i)
{
if (i == 0)
return;
arr[arr.length - i] = arr.length - i;
i--;
what(arr, i); // recursive method call
}发布于 2013-11-23 02:51:06
我会尝试调用像what(array,array.length)这样的函数
public static void what(int[] arr, int i)
{
if ( i == 0 )
return;
arr[i] = i;
what(arr, i-1); // recursive method call
}发布于 2013-11-23 02:52:40
这是你需要的吗?
public static void what (int[] arr, int i)
{
if (i == 0)
return;
arr[i-1] = i-1;
i--;
what(arr, i); // recursive method call
}https://stackoverflow.com/questions/20152238
复制相似问题