首页 / JAVA / java基础----递归
java基础----递归
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础----递归,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2512字,纯文字阅读大概需要4分钟。
内容图文
![java基础----递归](/upload/InfoBanner/zyjiaocheng/753/8d98f8eba08f4f0ba254e17660f2657b.jpg)
package com.henu.io;
import java.util.Iterator;
/*
* ?递归:指在当前方法内调用自己的这种现象。
* 注意:递归必须要有结束条件
*/
public class Demo03_递归 {
public static void main(String[] args) {
/*
* 此函数会一直调用自身,而且没有结束语句,
* 最终报出java.lang.StackOverflowError
*/
// System.out.println("main");
// main(args);
//递归累加
System.out.println(buDiGuiLeiHe(100));//5050
System.out.println(diGuiLeiHe(10));//55
//递归求阶乘
System.out.println(buDiGuiLeiCheng(4));
System.out.println(diGuiLeiCheng(4));
}
//不递归求累乘
public static int buDiGuiLeiCheng(int n) {
int res = 1;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
//递归求累乘
public static int diGuiLeiCheng(int n) {
if (n == 1) {
return 1;
}
return diGuiLeiCheng(n-1) * n;
}
//不递归求累加
public static int buDiGuiLeiHe(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
//递归求累加
public static int diGuiLeiHe(int n) {
if (n == 1) {
return 1;
}
return diGuiLeiHe(n-1) + n;
}
}
package com.henu.io;
import java.io.File;
/*
* 多级目录的打印,就是当目录的嵌套。遍历之前,无从知道到底有多少级目录,所以我们还是要使用递归实现。
*/
public class Demo04_递归打印多级目录 {
public static void main(String[] args) {
File file = new File("F:\\workspace\\第一阶段\\days01\\Days07\\src\\com");
/*File[] files2 = file.listFiles();
for (File file2 : files2) {
System.out.println(file2);
//当碰见目录时,只输出目录名称。
* 输出结果:
* D:\其他班笔记文档\Idea相关\Idea2017.3.2安装文件及破解
D:\其他班笔记文档\Idea相关\mysql-connector-java-5.1.46.jar
D:\其他班笔记文档\Idea相关\插件
D:\其他班笔记文档\Idea相关\阿里巴巴Java开发手册-1.4.0.pdf
}*/
printDir(file);
/*
* 输出结果:
* D:\其他班笔记文档\Idea相关\Idea2017.3.2安装文件及破解
D:\其他班笔记文档\Idea相关\Idea2017.3.2安装文件及破解\ideaIU-2017.3.2.exe
D:\其他班笔记文档\Idea相关\Idea2017.3.2安装文件及破解\IntelliJ IDEA 2017.3.2破解
D:\其他班笔记文档\Idea相关\Idea2017.3.2安装文件及破解\IntelliJ IDEA 2017.3.2破解\Idea2017.3.2破解文档.docx
D:\其他班笔记文档\Idea相关\Idea2017.3.2安装文件及破解\IntelliJ IDEA 2017.3.2破解\JetbrainsCrack-2.6.10-release-enc.jar
D:\其他班笔记文档\Idea相关\mysql-connector-java-5.1.46.jar
D:\其他班笔记文档\Idea相关\插件
D:\其他班笔记文档\Idea相关\插件\Alibaba Java Coding Guidelines-1.0.5.zip
D:\其他班笔记文档\Idea相关\阿里巴巴Java开发手册-1.4.0.pdf
*/
}
public static void printDir(File f) {
File[] files = f.listFiles();
for (File file : files) {
boolean b = file.isFile();
if (b) {
System.out.println(file);
}else {
System.out.println(file);
//即当判断不是文件时,打开此目录继续遍历
printDir(file);
}
}
}
}
内容总结
以上是互联网集市为您收集整理的java基础----递归全部内容,希望文章能够帮你解决java基础----递归所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。