我有一個應該生成任意給定數字n的階乘的程序。使用GUI的Java階乘僅返回第一個輸出
當用戶輸入一個數字時,輸出的數字就是每個輸入到計算器中的數字的階乘。 代碼編譯正常,但計算器不會計算除第一個以外的任何因子。 因爲我不能使用遞歸來解決這個問題,所以請僅使用遞歸發佈答案。
下面的代碼:
import javax.swing.JOptionPane;
public class Assignment7
{
public static void main(String[] args)
{
int number1;
int factorial = 1;
String message;
number1 = Integer.parseInt(JOptionPane.showInputDialog("Enter a positive integer that you would like factored (Type \"1\" to stop) : "));
for(int i = 1; i <= number1; i++)
{
factorial = factorial * i;
}
do
{
message = String.format("The factorial of %d is: %d", number1, factorial);
JOptionPane.showMessageDialog(null, message);
number1 = Integer.parseInt(JOptionPane.showInputDialog("Enter a positive integer that you would like factored (Type \"1\" to stop) : "));
}
while(number1 != 1);
}
}