首页 > 解决方案 > 如何在递归循环中减去 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);

标签: java

解决方案


公共静态无效主要(字符串[]参数){

        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);

}

推荐阅读