怎樣用java實作遞歸一個陣列的最大值
public static void main(String[] rags){
int [] aim = new int[100];
int point = 0;
//....這裡初始化陣列
int max = aim[0];
max = getMax(max,point,aim);
//...其他處理
}
//遞迴方法
public int getMax(int max,int point,int[] aim){
if(point==aim.length) //臨界值
return max;
//未達到臨界值時,取max值,並進行遞迴
max = max >= aim[point] ? max : aim[point];
return getMax(max,point 1,aim);
}
java二分法查找的遞歸演算法怎麼實作
public class 二分法遞迴尋找 {
public static void main(String[] args) {
//定義數組,注意,二分查找數組必須是有序的數組!
int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 };
//接受查找後的回傳值:索引值,如果沒有則是-1;
//測試尋找元素:9
int a=binary(arr, 9, 0, arr.length - 1);
System.out.println("被找出數字索引位置在:" a);
}
//參數清單依序為:被尋找的數組,尋找的數字,頭索引,尾索引!
public static int binary(int[] arr, int key, int star, int end)// 遞迴
{
//每次進來創建,中間索引值!
int mid = (star end) / 2;
//如果被查找數小於頭,或尾,或頭索引大於尾索引,則表示無該數,傳回-1;
if (key arr[end] || star > end) {
return -1;
}
//如果中間值小於被查找數,重新定義頭索引移至中間 1位置,篩選掉一半數字!
if (arr[mid]
//開始遞迴!
return binary(arr, key, mid 1, end);
//否則如果中間值大於被查找數,則重新尾索引移至中間-1位置,篩選掉一半數字!
} else if (arr[mid] > key) {
//開始遞迴!
return binary(arr,key, star, mid - 1);
} else {
//否者就是找到了,回傳該索引!
return mid;
}
}
}
java的遞歸是如何執行的順序是如何執行的
factest(8)進入factest函數,if(n==1) return 1; // 不成立,執行else else return n*factest(n-1); // 傳回值為8*factest(7)
factest(7)進入factest函數,if(n==1) return 1; // 不成立,執行else
else return n*factest(n-1); // 傳回值為7*factest(6)
……
一直到N=1,此時if(n==1) return 1; // 成立,回傳值為1,即1!=1
接著計算出factest(2)回傳值為:2*factest(1) = 2
接著繼續計算出factest(3)回傳值為:3*factest(2) = 6
…… 一直到N=8,得到factest(8) = 8*factest(7) = 40320
JAVA這題要如何用遞迴實現呢大神
依照你的要寫的Java遞歸程式如下:
import java.util.Scanner;
public class GGG {
public static void main(String[] args) {
int N = 0;
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
for(int n=0;n
N=sc.nextInt();
int a[]=new int[N];
for(int i=0;i
a[i]=sc.nextInt();
}
System.out.print("case " (n 1) ":");
process(a,0);
System.out.println();
}
}
private static void process(int[] a, int n) {
if(n==0){
if(isPrime(a[n 1]))
System.out.print(1 " ");
else
System.out.print(0 " ");
}else if(n==a.length-1){
if(isPrime(a[n-1]))
System.out.print(1 " ");
else
System.out.print(0 " ");
return;
}else{
if(isPrime(a[n-1])&isPrime(a[n 1]))
System.out.print(2 " ");
else if(isPrime(a[n-1])||isPrime(a[n 1]))
System.out.print(1 " ");
else
System.out.print(0 " ");
}
process(a,n 1);
}
public static boolean isPrime(int num) {
int i;
for(i=2;i
if(num%i==0)
break;
}
if(i==num){
return true;
}
return false;
}
}運行結果:
2
5
5 7 2 9 13
case 1:1 2 1 2 0
3
10 4 5
case 2:0 1 0
以上是用java寫遞歸函數找出數組的最大值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

無法在登錄屏幕Windows 7/8/10/11鍵入密碼?為什麼會出現這個問題?當您無法在登錄屏幕上輸入密碼時該怎麼辦? PHP.CN的這篇文章為您提供了幾種可行的解決方案。
![[已解決] MacOS無法驗證該應用程序是否沒有惡意軟件-Minitool](https://img.php.cn/upload/article/001/242/473/174542694917149.png?x-oss-process=image/resize,p_40)
在Mac上運行應用程序時,您是否遇到了“ MacOS無法驗證此應用程序是否沒有惡意軟件”? PHP.CN的這篇文章向您展示瞭如何解決此問題。

錯誤代碼2000-0415是連接到計算機某些特定電纜的小問題。它在戴爾設備中很常見。如果您目前會收到此錯誤,則PHP.CN網站上此帖子的提示和技巧將對您有所幫助。

您是否曾經遇到過計算機凍結但鼠標仍在移動的情況?許多人對這個問題感到困擾,他們選擇強行關閉計算機。實際上,還有其他方法可以幫助您解決此PR

一些用戶仍然使用Windows 7版本,他們想下載Windows 7 Ultimate SP1。但是,他們不知道在哪裡可以找到ISO文件。不用擔心!這篇來自PHP.CN的帖子告訴您如何免費下載和安裝Windows 7 Ultimate SP1。

如果您最喜歡的電視節目和工作約會之間存在衝突,該怎麼辦? Spectrum DVR可以幫助您!它使您可以錄製自己喜歡的遊戲或電視節目,並隨時觀看。如果您受到Spectrum DV的困擾

您是否知道如何在文件資源管理器中顯示或刪除複選框?如果沒有,您來了正確的位置。 php.cn上的本文向您展示了幾種可行的方法來啟用文件資源管理器中的選擇複選框。

VSS錯誤0x800423F4在Windows 11/10上創建系統映像時發生。如果您被這個煩人的問題困擾,請遵循PHP.CN收集的修復程序以將其紮根。此外,專業的Windows備份軟件(例如Php.cn Shadowmaker)是簡介


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

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

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),