我做了一个函数来计算一个数的阶乘,但是当我写一个十进制数或一个字符时,“小应用程序”不起作用。我如何计算小数的阶乘,并在写入字符时向用户发起消息错误。如何计算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
这是因为小数和其他字符不是整数。你想要发生什么? –