我可以写一个程序打印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 = -10
和num_2 = -1
。它怎么能从-10打印到-5呢?
看看你的If条件,这意味着num_2 % num_1 == 0
在这种情况下永远不会为真,这就是为什么它打印-10 to -1
。
你能详细说明或给我一个特定的测试用例,以便我可以寻找正确的代码?我认为你的代码是正确的,只要用正确的测试场景检查一下。