我的阶乘课程不适用于13号

时间:2019-05-21 16:37:21

标签: java

我是Java新手。我尝试对阶乘类进行编程,并且可以使用直到12号,但是当我输入13时,它将返回一个非常奇怪的结果,例如负数。

package thinkjava;

public class MyFactorial {
    public static void printMessage(int x, int resultado) {
        System.out.println("n = " + x + ", con el resultado " + resultado + ".");
    }

    public static void myFactorial(int n, int resultado) {
        int resultado1;
        if (n - 1 == 0 || n == 0 || n == 1) {
            resultado1 = resultado;
            printMessage(n, resultado1);
        } else {
            resultado1 = resultado * n;
            printMessage(n, resultado1);
            myFactorial((n - 1), resultado1);
        }
    }

    public static void main(String[] args) {
        myFactorial(13, 1);
    }
}

奇怪的结果:

n = 4, con el resultado 1037836800.
n = 3, con el resultado -1181456896.

0 个答案:

没有答案