搜尋
首頁電腦教學電腦知識不熟悉Java遞歸方法的程式碼

不熟悉Java遞歸方法的程式碼

java程式碼不懂遞歸方法

這也是個循環的方法 初學者可能很難看懂...我解釋一下

例如 那個fun()方法裡面的參數是100吧 我把它改一下 改成2好吧

這個遞歸方法的目的是累加,和迴圈累加的結果相同,只是執行方式不同。

程式執行的過程如下:

當你傳2進去時. 程式會執行else裡面的內容

也就是return temp fun(temp-1);

實際上是回傳的是:2 fun(2-1);

也就是: 2 fun(1) 把原來的那個參數3改為了2;

我開始說了吧 這是個累加的程式 所以把3提出來賦給 前面定義好的sum 所以現在的sum=2;

因為這是個遞歸的方法 所以接下來要重複執行這個fun(int temp)方法 ;

只是現在的參數變成了1

所以 接下來程式會這樣走 :

因為參數是1 所以會進入if裡面

所以會回傳1;

所以現在的sum就應該是之前的sum加上現在的fun(1)回傳的1

so.....now sum就該是:2 1=3;

我只是舉了其中的兩個數字之間的循環 其他的98個數字之間的循環也是這樣的

總之遞歸就是一直呼叫自己 直到無法滿足條件時就不會呼叫自己了

你看看吧 可能有點多 我想解釋的更加清楚一點 之前我也遇到過 不過我沒問過別人 沒看懂或者是不懂的再問我.....

Java遞歸演算法高收請進!用遞歸實作

作的挺好看的阿,能做出這樣水準的介面,這個小問題應該難不到你吧。

這裡的問題是:

1. 設計這個圖的結構,最簡單的就是用陣列了。

2. 怎麼列舉相連的節點。簡單的說就是判斷左上、右上、左、右、左下、右下的問題。

3. 怎麼依序判斷顏色相同問題,最簡單的演算法是淹沒法。就是從上面6個方向開始找,找到下一個點後,從6個方向開始找。 。 。

大概的程式碼如下:

class Rabbit

{

final int D_UP_LEFT = 1 ;

final int D_UP_RIGHT = 2 ;

final int D_LEFT = 3 ;

final int D_RIGHT = 4 ;

final int D_DOWN_LEFT = 5 ;

final int D_DOWN_RIGHT = 6 ;

getColor () ;

getCloseRibbit (int direction)

{

... // 這裡實作取得相鄰指定方向兔子的函數

// 如果沒有回傳null .

}

int getColor () {}

List checkColor ()

{

ArrayList list = new ArrayList () ;

doCheckColor (list, this) ;

return list ;

}

void doCheckColor (List list, Rabbit r)

{

if (r.getColor () != this.getColor () || list.contains (r))

return ;

list.add (this) ;

for (int i = D_UP_LEFT ; i

{

Rabbit next = r.getCloseRibbit (i) ;

if (next != null)

next.doCheckColor (list, r) ;

}

}

}

結果的list就是你要的相同顏色的小兔子。

JAVA如何使用遞迴方法實作從1到m中取nn

使用陣列的遞迴:

public class Test12 {

static int M = 4;

static int N = 3;

static int[] a= new int[]{1,2,3,4};

static int[] b = new int[N];

public static void main(String[] args){

C(M,N);

}

static void C(int m,int n){

int i,j;

for(i=n;i

b[n-1] = i-1;

if(n>1)

C(i-1,n-1);

else {

for(j=0;j

System.out.print(a[b[j]] " ");

System.out.println();

}

}

}

}

輸出:

1 2 3

1 2 4

1 3 4

2 3 4

java實作遞歸運算n!輸入n如果不是整數提示重新輸

java 實作遞歸運算n! ,輸入n,如果不是整數,提示重新輸...

port java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Test {

public int jiecheng(int num) {// 遞歸階乘

if (num > 1)

return num * jiecheng(num - 1);

else if (num == 1)

return 1;

else

return 0;

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);// 從鍵盤取得輸入

String num = "";

Pattern p = Pattern.compile("\\d ");// 正規表示式,符合(1到N位元)整數

Matcher m = null;

int k = 0;

while (true) {

System.out.print("請輸入整數:");

num = sc.nextLine();// 取得一行輸入

#m = p.matcher(num);

if (m.matches()) {

k = Integer.valueOf(num);// 字串轉整數

break;

} else

System.out.println("不是整數,請重新輸入!");

System.out.println();

}

System.out.println(new Test().jiecheng(k));// 呼叫階乘的方法

}

}

喜居寶地千年旺 福照家門萬事興 喜迎新春

以上是不熟悉Java遞歸方法的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Excel办公网。如有侵權,請聯絡admin@php.cn刪除
如何刪除securebootencodeuefi.exe trojan?如何刪除securebootencodeuefi.exe trojan?Apr 13, 2025 am 12:50 AM

一些Windows 11/10用戶報告說,他們看到BitDefender更新後立即打開CMD窗口,並且正在運行SecurebootencOdeuefi.exe。該帖子來自PHP.CN介紹瞭如何刪除SecurebootencOdeuefi.exe Trojan。

修復:sysdll_win64_retail.dll缺少或找不到錯誤-Minitool修復:sysdll_win64_retail.dll缺少或找不到錯誤-MinitoolApr 13, 2025 am 12:48 AM

sysdll_win64_retail.dll是與FIFA 17應用程序相關的動態鏈接庫(DLL)文件。當該文件丟失或損壞時,該應用程序將發生一系列問題和錯誤。要解決這個問題,您可以閱讀此含義

核心隔離是否被ew_usbccgpfilter.sys阻止?這是修復程序!核心隔離是否被ew_usbccgpfilter.sys阻止?這是修復程序!Apr 13, 2025 am 12:47 AM

許多Surfacebook用戶報告說,他們符合Windows 11/10上的“由EW_USBCCGPFILTER.SYS阻止的核心隔離”問題。 PHP.CN的這篇文章有助於解決煩人的問題。繼續閱讀。

如何從Ctrl Alt Del屏幕上刪除選項?如何從Ctrl Alt Del屏幕上刪除選項?Apr 13, 2025 am 12:46 AM

當您在計算機上按CTRL ALT DEL時,您將輸入“安全選項”窗口,其中可能會看到鎖定,切換用戶並登錄選項。您知道這些選項可以更改嗎?此php.cn帖子將向您展示如何刪除OPT

如何去除病毒:win32/grenam.va! MSR?這是指南!如何去除病毒:win32/grenam.va! MSR?這是指南!Apr 13, 2025 am 12:45 AM

一些Windows 11/10用戶報告說,他們的Windows Defender發現了一種名為病毒的病毒:win32/grenam.va! MSR。但是他們不知道如何刪除它。這篇來自Php.cn的帖子教您如何去除病毒:win32/grenam.va! MSR。

如何將網站保存為桌面應用程序?如何將網站保存為桌面應用程序?Apr 13, 2025 am 12:44 AM

當您需要經常訪問網站時,打開瀏覽器並每次搜索它非常麻煩。您為什麼不嘗試將網站保存為應用?如果這樣做,則可以作為普通軟件打開它。在這裡,php.cn為您提供一些USEFU

修復Windows更新錯誤0x00000000的完整指南修復Windows更新錯誤0x00000000的完整指南Apr 13, 2025 am 12:43 AM

當他們安裝最新的Windows更新時,有些人在Windows 11上遇到了錯誤代碼0x00000000。您應該怎麼做才能應對此意外錯誤? PHP.CN網站上的本文將為您提供一些解決問題的線索。

如何修復此應用程序不支持選擇的FILETYPE如何修復此應用程序不支持選擇的FILETYPEApr 13, 2025 am 12:41 AM

在團隊或Excel打開文件時,您是否會遭受錯誤消息“此應用程序所選擇的FILETYPE”?現在,請閱讀PHP.CN的這篇文章,以獲取有關此問題的一些有用解決方案。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)