Java之递归求和的两张方法

方法一:

package com.smbea.demo;

public class Student {
	private int sum = 0;

	/**
	 * 递归求和
	 * @param num
	 */
	public void sum(int num) {
		this.sum += num--;

		if(0 < num){
			sum(num);
		} else {
			System.out.println("sum = " + sum);
		}
	}

}

  

方法二: 

package com.smbea.demo;

public class Test {

	public static void main(String[] args) {
		Teacher teacher = new Teacher();
		teacher.sum();
	}

	public static int sum(int num){
		if(1 == num){
			return 1;
		} else {
			return num + sum(num - 1);
		}
	};
}

  

当然还有其它方法,如采用 for 循环、while 循环等,那就不属于递归了!这里就不做讨论了。

时间: 2024-12-26 20:11:13

Java之递归求和的两张方法的相关文章

15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点, 用递归和循环两种方法完成树的镜像转换

转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4260432.html  声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 题目:输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点, 用递归和循环两种方法完成树的镜像转换. 题目分析:

java连接sql server2008的两种方法

最近学到java连接数据库(sql server),发现常用的我们有两种方法,那么这里我总结一下这两种方法怎么使用,还有它们的区别,还有我们一般要使用哪一种方法. 方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库; 注意我们每次在连接数据库前都必须要引入sql包:import java.sql.*;接下来的步骤都是习惯性步骤,我这里就按照每一步的使用进行列举: 1.配置数据源:打开控制面版->管理工具->数据源(ODBC)->(一般而言我们使用用户DSN)

Java中Arrays类的两个方法:deepEquals和equals

deepEquals和equals是Java中Arrays类的两个静态方法,可是它们之间有什么样的区别呢? 代码一. import java.util.Arrays; public class Test { public static void main(String[] args) { String[][] name1 = {{ "G","a","o" },{ "H","u","a",

Java中读取Map的两种方法对比

引言: 在Java中Map的使用非常频繁,我们经常会需要对Map进行遍历和读取,下面将展示两种遍历的方法以及简要分析. 1.  遍历Map方法A Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val =

Java中集合排序的两种方法

import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * * <p> * ClassName CollectionsSort * </p> * <p> * Description 主要介绍两种集合的排序算法<br/> * 第一:java.util.Collections.sort(jav

java自定义容器排序的两种方法

首先说一下排序的返回值的含义.对于参与比较的两个Object,o1和o2,如果函数的返回值为正值,把o1排在o2后面:返回值为负值,把o1排在o2前面.如果返回值是0,按照容器之前的顺序排列.在compareTo中,this相当于o1,传入的Object相当于o2 第一种方法:对于要排序的类实现Comparable接口 package sort; import java.util.ArrayList; import java.util.Collections; import java.util.

Java跳转页面的两种方法以及它们的区别

(1)使用response对象,为Jsp的内置对象 直接使用sendRedirect()重定向, 重定向后在浏览器地址栏上会出现重定向页面的URL.代码: <%   response.sendRedirect("http://www.baidu.com"); return;         %> 说明: sendredirect()中的URL是可以带参数的,例如sendredirect("url?name="+name);我们可以在跳转的时候传入参数.

treeview递归绑定的两种方法

方法一: 复制代码代码如下: public void creattree(int fid, TreeNode parentnode)           { DataTable dt = new DataTable();               dt = op.BindGroup();               DataRow[] drs = dt.Select("parentid=" + fid);               foreach (DataRow row in d

php imagick 扩展合成图片的两张方法

方法一:compositeimages /** * function: 合成图片 * @param string $output_url 图片保存路径 * @param string $img_type 图片保存类型 * @param integral $line_num 每行显示图片数量 * @param array $logo_info 每张待合成图片的信息(要求所有尺寸统一) * @param array $img_list 待合成的图片绝对路径 * * @return void */ p