国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java實現(xiàn)遞歸計算n的階乘

Java實現(xiàn)遞歸計算n的階乘

2021-12-07 13:59這個對數(shù)不太對 Java教程

這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)遞歸計算n的階乘,利用遞歸的思想實現(xiàn)階乘的計算,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)遞歸計算n的階乘的具體代碼,供大家參考,具體內(nèi)容如下

問題描述

利用遞歸的思想實現(xiàn)階乘的計算,以 n!為例

(一)、n的范圍

1.n<0:n!無意義
2.n=0或n=1:n!=1
3.n>2:n!=n(n-1)!

關(guān)于 0!=1 的一個合理性解釋:
根據(jù)階乘的定義n!=n(n-1)!,
可變形為n=(n+1)!/(n+1),
帶入有0=1!/1=1

(二)、問題分析

1.n<0時提醒用戶輸入有誤

(1)在未知循環(huán)次數(shù)時,可以采用while語句來提醒
(2)while語句中用continue結(jié)束循環(huán)

while語句中break和continue的區(qū)別

(1)break:跳出本層循環(huán),即進(jìn)入了一次循環(huán)體后,執(zhí)行完一次循環(huán)體內(nèi)的語句,就不再進(jìn)行是否進(jìn)入循環(huán)體的判斷
(2)continue:跳出本次循環(huán),即進(jìn)入一次循環(huán)體后,執(zhí)行完一次循環(huán)體內(nèi)的語句,會再次回到循環(huán)入口判斷是否進(jìn)行循環(huán),是則繼續(xù),如此反復(fù)

由于不能確定用戶輸入有誤的次數(shù),所以要用continue

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) {
        int n;
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入n的值");
        n = sc.nextInt();
 
        while(n<0) {
 
            System.out.println("輸入有誤,n要大于等于0哦");
            System.out.println("請再次輸入");
            n = sc.nextInt();
            continue;
 
        }
 
 
    }

2.n>=0時調(diào)用方法進(jìn)行計算

(1)新建一個類構(gòu)造一個帶參方法 recursion 計算階乘,注意該方法的名字不能與最初建的類(public class Recursion)重名
(2)引用一個if語句:當(dāng)n=0或1時,結(jié)果返回為1;其余情況n!=n(n-1)!
(3)階乘的思想是遞歸,即自己調(diào)用自己。不斷地把最新的n用 n * recursion1(n-1) 代替,直到n=1,以此達(dá)到n!=n(n-1)(n-2)···2·1的結(jié)果

?
1
2
3
4
5
6
7
8
public static int recursion (int n) {
 
        if (n==0||n==1)
            return 1;
        else{
            return n * recursion(n-1);
        }
    }

3.結(jié)果輸出放在main()中

(1)由于方法常常封裝在另一個類里面,所以一般先實例化一個對象(recursion1),再用該對象調(diào)用該方法(recursion)
(2)實例化的對象應(yīng)該是最初類(Recursion)的對象,所以是Recursion recursion1= new Recursion();
(3)由于類中只能定義變量和方法,不能直接實例化對象,也不能寫單獨的語句,而且在編寫類方法的時候,不能調(diào)用類本身(除非編寫的是類中的main方法),所以這兩行代碼應(yīng)該放在main()方法中。

?
1
2
Recursion recursion1= new Recursion();
    System.out.println("n!="+ recursion1.recursion(n));

(三)、完整代碼

把以上代碼合并一下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.*;
public class Recursion {
    public static void main(String[] args) {
        int n;
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入n的值");
        n = sc.nextInt();
 
        while(n<0) {
 
            System.out.println("輸入有誤,n要大于等于0哦");
            System.out.println("請再次輸入");
            n = sc.nextInt();
            continue;
 
        }
        Recursion recursion1= new Recursion();
        System.out.println("n!="+ recursion1.recursion(n));
 
    }
 
    public static int recursion (int n) {
 
        if (n==0||n==1)
            return 1;
        else{
            return n * recursion(n-1);
        }
    }
}

(四)、運行結(jié)果

Java實現(xiàn)遞歸計算n的階乘

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/m0_57060319/article/details/119616802

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产精品美女久久久网av | 亚洲第一成人久久网站 | 欧美日韩一区二区三区不卡视频 | 免费看的av | a天堂在线 | 久久国产精品免费一区二区三区 | 一本大道综合伊人精品热热 | 黄在线看v | 欧美日韩a | 国产高清一区二区三区 | 九九热视频在线观看 | 久久草在线视频 | 亚洲欧美第一页 | 亚洲精品久久久久久一区二区 | 亚洲国产视频一区二区 | 亚洲精品一区二区在线 | 夜夜爽99久久国产综合精品女不卡 | 国产日韩精品一区二区 | 欧美视频成人 | 亚洲精品成人在线 | 91精品国产乱码久久久久久久久 | 国产一区二区三区四区二区 | 久久久天堂国产精品女人 | 国产精品毛片久久久久久久 | 日韩在线精品视频 | 黄色二区 | 久久精品国产91精品亚洲高清 | 欧美啪啪一区二区 | 亚洲成人av一区二区 | 亚洲一区精品在线 | 欧美日本一区二区三区 | 亚洲毛片 | 国产三级精品在线 | 久久久久久久久久久久一区二区 | 日韩成人 | 福利在线播放 | 日韩亚洲一区二区 | 日韩欧美国产一区二区三区 | 国产在线网 | 亚洲精品成人免费 | 亚洲精品乱码8久久久久久日本 |