java - 如何在递归循环中减去 System.out.print 的单次迭代?
问题描述
我希望输出类似于"6 + 6 + 6 + 6 = 24"
但看到System.out.print(x + " + ")
递归循环内部的情况,它最终输出:"6 + 6 + 6 + 6 + = 24"
在主程序中,我有一行单独的代码来输出结果: System.out.print("= " + result);
public static int recursiveMultiply(int x, int y){
//Make y positive
if(y < 0)
return recursiveMultiply(-x, -y);
//base case
if(y == 0)
return 0;
//recursive case
System.out.print(x + " + ");
return x + recursiveMultiply(x, y-1);
解决方案
公共静态无效主要(字符串[]参数){
System.out.println("="+ recursiveMultiply(-6,-4));
}
private static int recursiveMultiply(int i, int j) {
if (j< 0) {
return recursiveMultiply(i, Math.abs(-j));
}
if (j == 0) {
return 0;
}
System.out.print(i);
if (j!= 1) {
System.out.print(" + ");
}
return i + recursiveMultiply(i, j - 1);
}
推荐阅读
- java - 无效数字oracle jdbc
- c - Visual Studio 2019 能否将所需的 DLL 打包在一个小的 .exe 文件中?
- r - 通过按条件分组变量对 data.table 进行排序
- python - 计算给定 3 个或更多高斯的概率
- swift - 来自 url 的数据不会加载。虽然网址是正确的
- security - Coinbase 区块链和区块链之间有什么区别吗?
- javascript - React - 如果我更改状态,每次新渲染时都会使用占位符和动画的输入字段
- php - 冲突的 Seafile 和 Nextcloud nginx 配置
- c++ - 如何使用 clang-format 格式化地图初始化?
- reactjs - 使用 Axios 请求从服务器加载 Redux Store