我正在使用递归在Java中编写一个简单的代码。我想显示用户输入的两个数字的乘积。我设法使用递归来做到这一点,但坚持在我想表明产品可以写成(例)10 * 5 = 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5次(10次)或12 * 3 = 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3(12次)。这是我的代码到目前为止。在代码中,我写了一个注释,它应该被写入(例子)。谢谢。使用递归进行Java乘法
import java.util.Scanner;
public class RecursiveMultiplication {
public static void main(String[] args) {
Scanner key = new Scanner(System.in);
int a, b;
System.out.print("Enter first number: ");
a = key.nextInt();
System.out.print("Enter second number: ");
b = key.nextInt();
System.out.println("The product of " + a + " and "
+ b + " is: " + multiRec(a, b));
System.out.println("It could also be written as: "); //Here should product be broken into smaller numbers
}
public static int multiRec(int x, int y) {
if (x == 0 || y == 0) {
return 0;
} else {
if (x == 1) {
return y;
} else {
return x + (multiRec(x, y - 1));
}
}
}
}
是否存在遇到代码的特定问题? – Castaglia
问题是我不知道如何将产品分解成更小的数字并将其显示给用户。正如我在例子中所说的(10 * 5 = 50)。现在,我想在屏幕上将该产品编写为5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 – Ivanko