我在递归方面遇到了一些麻烦,我的第一个输入将是起始数字,它会一直被第二个输入减去。 Ex) 12 和 3 作为输入,输出为 12 9 6 3 0 3 6 9 12。printNumPattern 方法是递归方法。
private static void printNumPattern(int num1, int num2) {
int temp = num1;
System.out.println(num1);
if(num1 <= 0) {
if(num1 == temp) {
System.out.println();
}else {
printNumPattern(num1+num2,num2);
}
}else {
printNumPattern(num1-num2,num2);
}
}
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int num1;
int num2;
num1 = scnr.nextInt();
num2 = scnr.nextInt();
printNumPattern(num1, num2);
}
最佳答案
你可以在递归调用之后做一些事情,不用任何计算重用n1:
static void p(int n1,int n2){
System.out.println(n1);
if(n1<=0)return;
p(n1-n2,n2);
System.out.println(n1);
}
(我在手机上打字,所以我稍微缩短了名字)
关于java - 使用递归的数字模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63855337/