Mat*_*zuk 0 java methods recursion function
可以通过递归方法计算整数中的零数,该方法采用单个int参数并返回参数具有的零数.
所以:
zeroCount(1000)
Run Code Online (Sandbox Code Playgroud)
会回来:
3
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作从整数中删除最后一位:"12345/10"= 1234
您可以通过执行以下操作从整数中获取最后一位数:"12345%10"= 5
这是我到目前为止:
public static int zeroCount(int num)
{
if(num % 10 == 0)
return num;
else
return zeroCount(num / 10);
}
Run Code Online (Sandbox Code Playgroud)
有没有人有任何建议或想法帮助我解决这个功能?
在脑海中运行您的代码:
zeroCount(1000)
Run Code Online (Sandbox Code Playgroud)
1000 % 10 == 0所以你要回来了1000.这没有意义.
只需弹出每个数字并重复:
这听起来像是家庭作业,所以我会把实际的代码留给你,但它可以做到:
zeroes(0) = 1
zeroes(x) = ((x % 10 == 0) ? 1 : 0) + zeroes(x / 10)
Run Code Online (Sandbox Code Playgroud)
请注意,没有终止条件,它可以永远递归.
public static int zeroCount(int num)
{
if(num == 0)
return 0;
if(num %10 ==0)
return 1 + zeroCount(num / 10);
else
return zeroCount(num/10);
}
Run Code Online (Sandbox Code Playgroud)
这行得通
| 归档时间: |
|
| 查看次数: |
8038 次 |
| 最近记录: |