我做了一個函數來計算一個數的階乘,但是當我寫一個十進制數或一個字符時,「小應用程序」不起作用。我如何計算小數的階乘,並在寫入字符時向用戶發起消息錯誤。如何計算Java中十進制數的階乘?
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// BOTON CALCULAR
String valortextfield = jTextField1.getText();
int numero = Integer.parseInt(valortextfield);
Metodos metod = new Metodos();
BigInteger resultado = metod.factorial(numero);
String valorAmostrar= resultado.toString();
jTextArea1.setText(valorAmostrar);
}
的方法:
public class Metodos {
public BigInteger factorial (int numero){
if ((numero < 0)||(numero >50)) {
return BigInteger.ZERO;
} else if (numero==0){
return BigInteger.ONE;
} else {
return BigInteger.valueOf(numero).multiply(factorial(numero-1));
}
}
感謝。
你所說的 「是行不通的。」 是什麼意思?順便說一句51!是不是0. –
我的意思是它只適用於整數,如果引入小數或字符,它會啓動一個錯誤。 – user3325719
這是因爲小數和其他字符不是整數。你想要發生什麼? –