搜索
首页电脑教程电脑知识用java编写递归函数查找数组的最大值

用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编写递归函数查找数组的最大值

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中文网其他相关文章!

声明
本文转载于:Excel办公网。如有侵权,请联系admin@php.cn删除
必须知道的修复 - 无法在登录屏幕上输入密码必须知道的修复 - 无法在登录屏幕上输入密码Apr 24, 2025 am 12:50 AM

无法在登录屏幕Windows 7/8/10/11键入密码?为什么会出现这个问题?当您无法在登录屏幕上输入密码时该怎么办? PHP.CN的这篇文章为您提供了几种可行的解决方案。

[已解决] MacOS无法验证该应用程序是否没有恶意软件-Minitool[已解决] MacOS无法验证该应用程序是否没有恶意软件-MinitoolApr 24, 2025 am 12:49 AM

在Mac上运行应用程序时,您是否遇到了“ MacOS无法验证此应用程序是否没有恶意软件”? PHP.CN的这篇文章向您展示了如何解决此问题。

戴尔(Dell)上的3个错误代码的目标解决方案2000-0415戴尔(Dell)上的3个错误代码的目标解决方案2000-0415Apr 24, 2025 am 12:48 AM

错误代码2000-0415是连接到计算机某些特定电缆的小问题。它在戴尔设备中很常见。如果您目前会收到此错误,则PHP.CN网站上此帖子的提示和技巧将对您有所帮助。

计算机冻结,但鼠标仍在移动 - 结果驱动的方法计算机冻结,但鼠标仍在移动 - 结果驱动的方法Apr 24, 2025 am 12:47 AM

您是否曾经遇到过计算机冻结但鼠标仍在移动的情况?许多人对这个问题感到困扰,他们选择强行关闭计算机。实际上,还有其他方法可以帮助您解决此PR

Windows 7 Ultimate SP1免费下载和安装(32/64位)-MinitoolWindows 7 Ultimate SP1免费下载和安装(32/64位)-MinitoolApr 24, 2025 am 12:46 AM

一些用户仍然使用Windows 7版本,他们想下载Windows 7 Ultimate SP1。但是,他们不知道在哪里可以找到ISO文件。不用担心!这篇来自PHP.CN的帖子告诉您如何免费下载和安装Windows 7 Ultimate SP1。

您的频谱DVR不起作用吗?尝试这些修复程序! -  Minitool您的频谱DVR不起作用吗?尝试这些修复程序! - MinitoolApr 24, 2025 am 12:45 AM

如果您最喜欢的电视节目和工作约会之间存在冲突,该怎么办? Spectrum DVR可以帮助您!它使您可以录制自己喜欢的游戏或电视节目,并随时观看。如果您受到Spectrum DV的困扰

如何在文件资源管理器Windows 10 -Minitool中启用选择复选框如何在文件资源管理器Windows 10 -Minitool中启用选择复选框Apr 24, 2025 am 12:44 AM

您是否知道如何在文件资源管理器中显示或删除复选框?如果没有,您来了正确的位置。 php.cn上的本文向您展示了几种可行的方法来启用文件资源管理器中的选择复选框。

5修复了VSS错误0x800423F4 Win10/11中的备份5修复了VSS错误0x800423F4 Win10/11中的备份Apr 24, 2025 am 12:43 AM

VSS错误0x800423F4在Windows 11/10上创建系统映像时发生。如果您被这个烦人的问题困扰,请遵循PHP.CN收集的修复程序以将其扎根。此外,专业的Windows备份软件(例如Php.cn Shadowmaker)是简介

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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!