我正在尝试创建一个方法,它需要两个数字并创建一个模式。例如,如果你输入12和3,那么这个模式看起来是这样的,12 9 6 3 0 -3 0 3 6 9 12,我的逻辑有点问题,它没有给出一个负整数。
package Task1;
import java.util.Scanner;
public class NumberPattern {
public static void printNumPattern(int num1, int num2) {
if (num1 < 0) {
return;
}
System.out.print(num1 + " ");
printNumPattern(num1 - num2, num2);
if (num1 > 0) {
System.out.print(num1 + " ");
}
}
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);
System.out.println();
}
}
我尝试使用if语句来确保一旦其中一个整数变为负数,它将再次开始相加。但是我的输出是12963036912而不是129630 -3036912
1条答案
按热度按时间sqougxex1#
我不确定我是否修复了你想要修复的东西,但这会导致正确的模式:
我将第一个print移到了if语句的上方,以确保它在返回前变为负数时打印。我还删除了第二个if-condition,因为它只是在num 1为0时删除了print-statement。