Java的递归
2016-06-21 20:05
405 查看
递归:一个方法体内调用它自身,被称为方法递归。方法递归包含了一种隐式的循环,它会重复执行某段代码,
但这种重复执行无须循环控制
用递归打印三角形,代码如下:
public class RecursionStart {
/**
* 用递归打三角形
* @param args
*/
//行数
int line=1;
//星星的数量
int startCount=1;
//空格的数量
int spaceCount=5;
public static void main(String[] args) {
RecursionStart recursion=new RecursionStart();
recursion.recursionStart();
}
private void recursionStart() {
//递归的出口
if(line>=5){
return;
}
//控制换行,并初始化星的数量和空格的数量
if(startCount>line){
line++;
startCount=1;
spaceCount=5;
System.out.println("");
}
//打印空格
if(spaceCount>line){
System.out.print(" ");
spaceCount--;
recursionStart();
}
//打印星星
if(startCount<=line){
System.out.print(" *");
startCount++;
recursionStart();
}
}
}
但这种重复执行无须循环控制
用递归打印三角形,代码如下:
public class RecursionStart {
/**
* 用递归打三角形
* @param args
*/
//行数
int line=1;
//星星的数量
int startCount=1;
//空格的数量
int spaceCount=5;
public static void main(String[] args) {
RecursionStart recursion=new RecursionStart();
recursion.recursionStart();
}
private void recursionStart() {
//递归的出口
if(line>=5){
return;
}
//控制换行,并初始化星的数量和空格的数量
if(startCount>line){
line++;
startCount=1;
spaceCount=5;
System.out.println("");
}
//打印空格
if(spaceCount>line){
System.out.print(" ");
spaceCount--;
recursionStart();
}
//打印星星
if(startCount<=line){
System.out.print(" *");
startCount++;
recursionStart();
}
}
}
相关文章推荐
- [Java并发包学习七]解密ThreadLocal
- Spring <context:annotation-config/> 解说
- 如何配置pom.xml用maven打包java工程
- Spring AOP 完成日志记录
- java 输入一个链表,输出该链表中倒数第k个结点。
- 对Java的方法的理解
- 《疯狂JAVA讲义》——聊天系统(1)
- 【每天学一点】JAVA Cookie相关
- 学习笔记之javaEE基础
- eclipse 上svn插件的安装,百度知道
- servlet学习笔记之序言
- java加密解密--密钥格式,证书格式-02
- Spring的IOC与AOP
- Starting elasticsearch: Exception in thread "main" java.lang.IllegalStateException: Could not load p
- Java IDE中设置作者日期等Javadoc注释信息
- Eclipse Java注释模板设置详解/版权声明及编码风格的注释
- JDBC简单介绍
- 在Eclipse中设置自动生成注释
- Java虚拟机:类的初始化
- 如何在Eclipse中如何自动添加注释和自定义注释风格