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

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

Jan 13, 2024 pm 07:48 PM

不熟悉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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
FIXDISK Windows 7:檢查您的硬盤是否Windows 7中的錯誤 FIXDISK Windows 7:檢查您的硬盤是否Windows 7中的錯誤 Apr 14, 2025 am 12:40 AM

如果您懷疑自己的硬盤遇到問題,可以檢查Windows 7上的錯誤。此php.cn帖子討論了FixDisk Windows 7。您可以遵循該指南以檢查Windows 7上的錯誤。

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

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

安裝圖形驅動程序後,努力修復黑屏 安裝圖形驅動程序後,努力修復黑屏 Apr 15, 2025 am 12:11 AM

在Windows 10/11中安裝了像NVIDIA驅動程序這樣的圖形驅動程序之後,您是否曾經遇到過黑屏?現在,在PHP.CN的這篇文章中,您可以找到一些值得嘗試的NVIDIA驅動程序更新黑屏的解決方案。

KB2267602無法安裝:這是解決方法! KB2267602無法安裝:這是解決方法! Apr 15, 2025 am 12:48 AM

KB2267602是Windows Defender的保護或定義更新,旨在修復Windows中的漏洞和威脅。一些用戶報告說他們無法安裝KB2267602。這篇來自PHP.CN的帖子介紹瞭如何修復“ KB2267602 FAI

突襲恢復和硬盤恢復之間的區別 突襲恢復和硬盤恢復之間的區別 Apr 17, 2025 am 12:50 AM

數據恢復始終是一個加熱的話題。要成功地從設備恢復數據,您應該知道它如何存儲數據。您可以從此PHP.CN帖子中學習RAID恢復和硬盤恢復之間的區別。

如何在Windows中修復文件系統錯誤(-1073741521)? -  Minitool 如何在Windows中修復文件系統錯誤(-1073741521)? - Minitool Apr 16, 2025 am 12:37 AM

文件系統錯誤通常在人們的計算機上發生,並且該錯誤可能觸發一系列鏈接的故障。 PHP.CN網站上的本文將為您提供針對文件系統錯誤(-1073741521)的一系列修復程序。請繼續

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

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

修復安全選項卡未在文件夾屬性中顯示Windows 11 修復安全選項卡未在文件夾屬性中顯示Windows 11 Apr 17, 2025 am 12:36 AM

文件屬性中的“安全”選項卡有助於將不同組和用戶設置為文件或文件夾的不同權限。 一些用戶發現文件屬性中缺少Windows 11安全選項卡。來自PHP.CN的這篇文章提供了一些修復它的方法。

See all articles