首页 > 其他分享 >可变参数与递归

可变参数与递归

时间:2023-09-20 23:34:16浏览次数:43  
标签:调用 递归 参数 数组 可变 方法

可变参数

上章说到方法重载,对于不同数量(输入的参数类型不一致会报错)的参数我们可以通过方法重载的方式来解决,如果参数数量具有很强的不确定性,我们不可能写n个方法来一个一个定义,因此可变参数诞生了

在方法声明中在指定参数类型后加一个省略号(...)如:int...i

但是要注意的是一个方法只能有一个可变参数,而且必须是最后一个参数,任何普通参数必须在它之前声明

该节就是数组的衔接

i[]括号中的内容就是调用第几位,但要注意0也算一位


以上为输出最大值的方法,上面有一个坑,数组中第0项是第一项,但数组总共有几项还是几项所以,for循环中的i会被循环到小于数组总项大小-1的项,故不用等于号

递归

递归部分

  1. 递归头:什么时候不调用自身方法。如果没有头将陷入死循环
  2. 递归体:什么时候需要调用自身方法

如上图所示,递归和高中函数套函数很相似,自己引用自己来简化题目,上述为阶乘

备注:通常要给f1留一个初始的值,否则整个函数只有未知数无法运算

上图递归头为f1使之不会死循环

栈机制,由于不断的调用,会产生不必要的时间和开销,会很卡,递归深度不能太大,因此能不用就不用,使用前提他的基数必须比较小

作业

写计算器

试了很多遍一直不成功,关键在于使用scanner.nextInt的时候它不会读取换行符,导致换行符被留在缓冲区,被下一次的String读取

让String的输入一直为空,故要使用scanner.nextLine来清空缓存区

标签:调用,递归,参数,数组,可变,方法
From: https://www.cnblogs.com/javafirstlearn/p/17718813.html

相关文章

  • pytest之fixture和mark参数化测试
    fixture和mark参数化测试区别:fixture参数化运用于多个测试用例mark参数化运用化单个测试用例======================================fixture支持参数化params所有的数据param本次测试用到的数据 [email protected](scope="function",......
  • INT13H 是一个基本的硬盘控制器中断,用于在实模式下进行对硬盘的读写操作。它提供了多
    INT13H是一个基本的硬盘控制器中断,用于在实模式下进行对硬盘的读写操作。它提供了多个功能来操控硬盘,包括磁盘读、磁盘写、磁盘参数查询等。以下是一些常见的INT13H功能:磁盘读取:功能号2:从磁盘上读取扇区到内存缓冲区。寄存器AH=02h,AL表示要读取的扇区数量,CH表示磁道号......
  • 求生之路2服务器搭建插件安装及详细的游戏参数配置教程windows
    求生之路2服务器搭建插件安装及详细的游戏参数配置教程windows大家好我是艾西,最近研究了下l4d2(求生之路2)这款游戏的搭建以及架设过程。今天就给喜欢l4d2这款游戏的小伙伴们分享下怎么搭建架设一个自己的服务器。毕竟自己当服主是热爱游戏每一个人的梦想,在自己的服务器里为所欲为在......
  • pytest测试框架中数据分离以及测试用例参数化
    在进行测试自动化过程中,一个重要的最佳实践就是实现测试脚本和测试数据的分离。本文将涉及2个主题,一个是在pytest中如何实现测试用例脚本数据的分离,测试用例如何读入测试数据;二是在pytest中如何实现测试用例参数化。这两点是有区别的,如下图:flowchartLRTC[测试脚本]-->|读取外......
  • Linux中find命令的prune参数探究
     记得很久之前找过prune的参数使用,应急用了之后没有记录,但过了一段时间就会忘记,这次趁机找了一圈,包括Google-aosp里面的用法也对比参照了一下。 参考https://www.jianshu.com/p/e0a9fb35601a 发现描述基本没问题,使用上还有些差异,特此记录一下:<以下主要是 -prune-o-p......
  • Java学习之路-method--递归
    packagecom.chao.method;//递归/*概念:递归就是A方法调用A方法,就是自己调用自己递归包括两个部分:递归头:什么时候不调用自身方法,如果没有头,将陷入死循环;递归体:什么时候需要用自身方法*/publicclassDemo04{publicstaticvoidmain(String[]args){System.out.prin......
  • Jmeter5.4参数化上传文件提示系统找不到指定的文件的解决方法
    问题:java.io.FileNotFoundException:D:\A_JFKJ\A_a项目资料\1_20230906国家教育考试指挥系统V2.10\测试数据\报名_编排_考场对应\${username}-报名.xlsx(系统找不到指定的文件。) 解决方法:在文件路径${}参数化内容前方加反斜杠“\”即可解决  ......
  • Postman设置全局变量、参数传递、断言
    搬砖地址:https://blog.csdn.net/lzz718719/article/details/129671324 ......
  • 请求合并(后端服务可能扛不住频繁的请求时,将多个重复请求(参数不一样),合并成一个,也就是将
    constfetchUserInfoBatched=createBatchedRequest<string,UserBaseInfo>(async(userIds)=>{const{data}=awaitrequest.post('/api/user/list',{userIds,});returndata;},500//设置延迟时间为500毫秒);//使用示例a......
  • logback-spring配置文件一些参数的意义
    <?xmlversion="1.0"encoding="UTF-8"?><configuration><!--控制台打印日志的相关配置--><appendername="STDOUT"class="ch.qos.logback.core.ConsoleAppender"><!--日志格式--><encoder>......