我有這段代碼的問題。它是一個計算程序的一部分,它計算你在某些計算器上調用nPr的內容。它編譯沒有錯誤,但每次運行它並設置n = 0我收到一個看似無盡的錯誤消息列表。爲什麼不能打印出「錯誤!」並終止程序像我編程它?這個程序的邏輯有什麼問題?
{
System.out.print("n = ");
int n = j.nextInt();
System.out.print("r = ");
int r = j.nextInt();
long n_fact = factorial(n);
if (((n - r) <= 0) || (n <= 0) || (r < 0))
{
System.out.println("Error!");
System.exit(0);
}
else
{
long nr_fact = factorial(n - r);
long nPr = n_fact/nr_fact;
NumberFormat f = NumberFormat.getNumberInstance();
System.out.println("nPr = " + f.format(nPr));
}
}
我們可以看到'factorial'的代碼嗎? – arshajii
您是否嘗試在調試器中逐句通過您的代碼,看看爲什麼它永遠不會進行錯誤檢查? – millimoose