我正在參加一個虛擬的高中班,這不是我認爲的那樣,我很困惑,至少可以說。我的作業是這樣的:java編程階乘幫助請
練習6.1
在數學中,一個數的一個階乘表示爲寫n!並且是n和所有其他數字小於n的乘積。例如,5!是5 * 4 * 3 * 2 * 1。
- 創建一個名爲Factorial的新項目。
- 編寫一個採用整數作爲參數的析因方法,並以 整數形式返回結果。它應該使用循環來計算階乘。
- 主要提示用戶輸入一個數字,然後調用階乘方法。顯示返回的結果。
這是我的代碼至今:
import java.util.Scanner;
import javax.swing.JOptionPane;
class Factorial
{
public static void main(String[] args) {
String choice = JOptionPane.showInputDialog(null, "Enter a number.");
int numberChoice = Integer.parseInt(choice);
int triple;
triple = factorialNumber(numberChoice);
System.out.println(JOptionPane.showMessageDialog(null, triple, "Output:"));
}
// int num;
//Scanner input = new Scanner(System.in);
//num = input.nextInt();
//int FactInput = factorialNumber(num);
public static double factorialNumber(int){
//declaring variables
//int num;
int fact=1; //placeholder
//using the scanner
// Scanner input = new Scanner(System.in);
//user input
System.out.println("Enter a number: ");
// num = input.nextInt();
//for statement
for (int i=2;i<=num; i++){
//multiple assignment
fact=fact*i;
//print the result
System.out.print("The factorial of your number is ");
return fact;
}
return fact;
}
}
我在哪裏何去何從? 所有幫助表示讚賞 - 謝謝!
究竟是什麼問題? – Radiodef 2014-10-07 21:39:54
消除對「swing」或「JOptionPane」的所有引用。他們讓你感到困惑,而且沒有必要,因爲這個問題只能通過命令行來解決。 – Stewart 2014-10-07 21:46:28
它看起來像你的代碼中的主要問題是你在計算階乘的循環中返回。另外,除非需要('public static double factorialNumber(int)'應該是'public static int factorialNumber(int)''),否則通常不需要使用浮點數學運算。 – Jason 2014-10-07 21:50:37