第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

以相反順序打印遞歸

以相反順序打印遞歸

叮當(dāng)貓咪 2024-01-25 22:04:18
本周我的在線 CS1 課程的作業(yè)是創(chuàng)建一個(gè)程序,該程序使用多種方法來打印倒三角形。我已經(jīng)創(chuàng)建了教授概述的方法,但發(fā)現(xiàn)自己完全陷入了以相反順序打印遞歸的過程。起初我根本無法掌握遞歸??雌饋?For 循環(huán)可以用更少的抽象來完成同樣的工作。在閱讀了更多有關(guān)該主題的內(nèi)容后,我覺得我對(duì)它的工作原理有了更好的理解,但不一定是為什么使用它。這就是我現(xiàn)在所擁有的:public class RecursiveTriangle {    public static void main(String[] args) {        int sideLength = getLength();        String trianglePattern = getPattern();        printTriangle(sideLength, trianglePattern);    }    public static int getLength ()    {        Scanner scr = new Scanner(System.in);         System.out.print("Enter a number: ");        int sideLength = scr.nextInt();        return sideLength;     }    public static String getPattern()     {        Scanner scr = new Scanner(System.in);        System.out.print("Enter a character: ");        String trianglePattern = scr.nextLine();        return trianglePattern;     }    public static void printTriangle(int sideLength, String trianglePattern)    {        if (sideLength < 1){return;}        printTriangle(sideLength - 1, trianglePattern);         for (int i = 0; i < sideLength; i++)        {                System.out.print(trianglePattern);        }        System.out.println();    }}當(dāng)前迭代以“正?!表樞虼蛴〕鲆粋€(gè)三角形。輸入 int(5) 和 String ("AA") 會(huì)產(chǎn)生:AAAAAAAAAAAAAAA程序的最終迭代應(yīng)該產(chǎn)生:AAAAAAAAAAAAAAA我希望在這里得到一些幫助。我很樂意閱讀/觀看有關(guān)遞歸的推薦材料,因?yàn)榈侥壳盀橹?,這是我發(fā)現(xiàn)具有挑戰(zhàn)性的第一個(gè)概念。
查看完整描述

3 回答

?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

假設(shè)你的遞歸方法只是從 開始倒數(shù)n。


static void countDown(int n) {

    if (n <= 0)

        return;

    countDown(n - 1);

}

要按遞歸順序打印,請?jiān)谶f歸調(diào)用之前插入打印語句:


static void countDown(int n) {

    if (n <= 0)

        return;

    System.out.println(n);

    countDown(n - 1);

}

輸出


5

4

3

2

1

看,從 5 開始倒數(shù)。


要反向打印,請?jiān)谶f歸調(diào)用后插入打印語句:


static void countDown(int n) {

    if (n <= 0)

        return;

    countDown(n - 1);

    System.out.println(n);

}

輸出


1

2

3

4

5

看,向上計(jì)數(shù),即向下計(jì)數(shù)的相反過程。


查看完整回答
反對(duì) 回復(fù) 2024-01-25
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

為了理解遞歸,首先必須理解遞歸。

首先要真正理解遞歸,它應(yīng)該不難。遞歸方法的用例相反:簡化問題。

遞歸解決的經(jīng)典問題有素因數(shù)分解、階乘、漢諾塔等。與CS比較相關(guān)的可以是數(shù)據(jù)結(jié)構(gòu)搜索/排序算法。

查看完整回答
反對(duì) 回復(fù) 2024-01-25
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

簡單的。只需顛倒 print 語句和遞歸調(diào)用的順序即可printTriangle():


    public static void printTriangle(int sideLength, String trianglePattern)

    {

        if (sideLength < 1){return;}

        for (int i = 0; i < sideLength; i++)

        {

                System.out.print(trianglePattern);

        }

        System.out.println();

        printTriangle(sideLength - 1, trianglePattern); 

    }

在 Java 中測試:

https://img1.sycdn.imooc.com/65b26a930001d8ae02710111.jpg

查看完整回答
反對(duì) 回復(fù) 2024-01-25
  • 3 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)