java吧 关注:1,253,363贴子:12,740,283
  • 27回复贴,共1
刚学Java,要编一个输入0到20之间一个数,求其阶乘的程序。程序没有报错,但却没有运行,望好心人指点!


1楼2016-10-02 20:28回复
    逻辑不对。应该改成把else下面的语句放进if(n==0)下面
    改正:if(n==0)
    factorial=1
    else{
    for(int i=0;i<n;i++){
    factorial=n*i;
    System.out.println("")
    }
    }
    else
    System.out.println("Error");


    IP属地:北京来自Android客户端2楼2016-10-02 20:43
    收起回复
      第一个if的判断条件有误


      来自iPhone客户端4楼2016-10-02 20:46
      回复
        5楼说的对。
        其实你&&符号用错了,应该是用ll


        来自Android客户端7楼2016-10-02 21:06
        回复
          我觉得求阶乘最好数据类型设成double,用int很容易溢出。


          来自Android客户端8楼2016-10-02 21:08
          收起回复
            你核心for循环里的factorial每次乘积后值不相加?


            IP属地:山西来自Android客户端10楼2016-10-02 21:28
            收起回复
              两个问题,第一当n等于1时,没有结果。第二,同楼上


              来自Android客户端11楼2016-10-02 21:29
              收起回复
                import java.util.Scanner;
                class Jc{
                int sum=1;
                public int Jcheng(int num){
                int temp=num;
                while(num>0){
                sum=sum*(num*(num-1));
                num=num-2;
                }
                //System.out.println(temp+"!="+sum);
                System.out.println(sum);
                return sum;
                }
                }
                public class Test{
                public static void main(String[] args){
                System.out.println("请输入数字:1~20");
                Scanner in=new Scanner(System.in);
                int num=in.nextInt();
                Jc jc=new Jc();
                jc.Jcheng(num);
                }
                }


                12楼2016-10-02 21:39
                回复


                  来自Android客户端13楼2016-10-02 21:40
                  收起回复
                    这尼玛也太简单了吧


                    来自Android客户端16楼2016-10-03 08:03
                    回复
                      楼主netbeans既视感


                      IP属地:泰国17楼2016-10-03 08:08
                      回复
                        想学我送你套视频啊,你自学看看


                        IP属地:江苏18楼2016-10-03 10:51
                        回复