我想让一个程序从用户那里一一读取整数,将它们相乘并显示读取整数的乘积。当用户按下 0 时,读取整数的循环停止。如果用户输入 0 作为第一个数字,则用户将无法提供任何其他数字(不添加产品中的最后一个 0)。在这种情况下,程序应显示“没有输入数字!”
这是我现在的代码
ProductNumbers.java
package L04b;
import java.lang.reflect.Array;
import java.util.Scanner;
public class ProductNumbers {
public static void main(String[] args) {
int num = -1;
boolean isValid = true;
int numbersEntered = 0;
int product = -1;
Scanner scnr = new Scanner(System.in);
System.out.println(
"This program reads a list of integers from the user\r\n"
+ "and shows the product of the read integers");
while (num != 0) {
System.out.print("Enter number = ");
int curNum = scnr.nextInt();
if (curNum == 0)
break;
numbersEntered++;
product *= num;
}
if (numbersEntered == 0) {
System.out.println("No numbers entered!");
} else {
System.out.println(product);
}
}
}
我知道这是完全错误的,我通常会设置一个模板,尝试找出需要更改的内容,然后走这条路,我还需要开始跳出框框思考并学习不同的功能,因为我不知道我是怎么做的如果输入的第一个数字是 0,它将使其结束,如果最后一个数字是 0,则程序停止而不乘以最后一个 0(因此产品最终不会为 0)......我需要有人指导我如何我可以做到这一点。
这是我希望它如何工作的示例输出
This program reads a list of integers from the user
and shows the product of the read integers
Enter the number:
0
No numbers entered!
和
This program reads a list of integers from the user
and shows the product of the read integers
Enter the number:
2
Enter the number:
-5
Enter the number:
8
Enter the number:
0
The product of the numbers is: -80