奇数因子法

时间:2013-09-27 00:23:39

标签: java if-statement while-loop factorial

我有一个赋值需要执行以下操作:如果输入是偶数,则返回0.否则,返回整数输入的阶乘,但不会乘以任何偶数。我写了一些引用,但它运行错误。有人能告诉我我哪里做错了吗?

public static int oddFactorial(int number){

    if (number%2==0)
        return (0);
else{
        int counter = 1;
        int toReturn= 1;
        while (counter <= number)
            toReturn = toReturn*counter;
            counter+=2;

        return number;
    }

}


public static void main(String[] args) {
int number = 7;

}

}

1 个答案:

答案 0 :(得分:0)

这是你需要做的。检查突出显示的行。您正在调用oddFactorial方法并显示其结果。 oddFactorial和main的顺序无关紧要,您需要从main调用该方法。

public static int oddFactorial(int number){

            if (number%2==0){
                return (0);}              
                int counter = 1;
                int toReturn= 1;
                while (counter <= number){
                    toReturn = toReturn*counter;
                    counter+=2;
                }
                return toReturn;          
            }


        public static void main(String[] args) {
             int number = 7;
           **System.out.println(oddFactorial(number));**

         }

     }