【发布时间】:2022-12-04 00:59:36
【问题描述】:
我想正确获取用户输入的每个数字的阶乘。第一个输入的阶乘是正确的,但下一个输入的阶乘是不正确的。
这就是我得到的:the output of my code
输出/阶乘应该是这样的:correct factorial of numbers
这是我的代码:
public class Factor {
public static void main(String[] args) {
Scanner type = new Scanner(System.in);
int i, fact = 1;
System.out.println("<------ FACTORIAL CALCULATOR ------>");
while (true) {
System.out.print("Enter a positive integer: ");
int num = type.nextInt();
if (num > 0) {
System.out.print(num + "! = ");
for (i = 1; i <= num; i++) {
System.out.print(i);
if(i != num) {
System.out.print(" x ");
}
}
for (i = 1; i <= num; i++) {
fact = fact * i;
}
System.out.println("\nThe factorial of " + num + " is: " + fact);
}
else {
System.out.println("Invalid input! Program stopped!");
break;
}
}
}
}
【问题讨论】:
标签: java loops while-loop