如何编写一个程序,打印-num1到-num2的范围,并在-num1是num2的因数时停止?



我可以写一个程序打印num1到num2的范围,但是问题是当输入一个负数时,它会忽略在循环中输入的条件。

例如,如果num1 = -10和num2 = -1,它应该只打印-10到-5,因为- 10% -5 == 0。但它会打印-10到-1,并忽略if条件。

代码如下:

import java.util.Scanner;

public class Main
{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int start = 0;
int end = 0;
System.out.print("Enter starting: ");
start = input.nextInt();
System.out.print("Enter ending: ");
end = input.nextInt();

while(start <= end){
System.out.println(start);
start++;
if(end%start == 0){
System.out.println(start);
break;
}

}
}
}

如果两个数都为正,则遵循条件,如果两个数都为负,则忽略该条件。我希望不管数字符号是什么,它的功能都是一样的。

根据您的代码-num_1 = -10num_2 = -1。它怎么能从-10打印到-5呢?

看看你的If条件,这意味着num_2 % num_1 == 0在这种情况下永远不会为真,这就是为什么它打印-10 to -1

你能详细说明或给我一个特定的测试用例,以便我可以寻找正确的代码?我认为你的代码是正确的,只要用正确的测试场景检查一下。

最新更新