我发布了下面的原始问题。我得到的最正确的部分,但我不知道如何检查输入的第一个数字是否定的,并打印“坏的输入”。谁能帮我。检查一个值的输入并打印一些东西
编写一个程序,首先在一行输入中读取一系列正整数,然后计算并打印这些整数的乘积。整数被接受并相乘,直到用户输入小于1的整数为止。这个最终数字不是产品的一部分。然后,程序打印产品。如果输入的第一个数字为负数或0,则程序必须打印“输入错误”并立即终止。
接下来,程序确定并打印产品的主分解,按升序列出因子。如果素数不是产品的一个因素,那么它不能出现在因子分解中。样品运行如下。请注意,如果素数的权力是1,那么1必须出现在答案中。
这里是我的代码:
Scanner input = new Scanner(System.in);
System.out.println("Enter integers:");
int product = 1;
int num = 0;
while (input.hasNextInt()) {
num = input.nextInt();
if (num < 1)
break;
product *= num;
}
System.out.println("Product: " + product);
int f = 2;
while (product >= f) {
int count = 0;
while (product % f == 0) {
count++;
product = product/f;
}
if (count > 0)
System.out.print(f + "^" + count + " ");
f++;
}
}
做自己的功课。 –