新聞中心
一段JAVA的遞歸代碼
下面遞歸寫(xiě)了一段遞歸累加到100,每加20個(gè)就換行輸出。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了嵐縣免費(fèi)建站歡迎大家使用!
package?zhidao;
public?class?Digui?{
public?static?int?add(int?num){
int?sum?=?0;
StringBuffer?sb?=?new?StringBuffer();
if?(num?=?0)?{
return?0;
}else{
if?(num?==?1)?{
sum?=?sum+1;
}else?{
sum?=?add(num-1)+num;
}
if?(num?%?20?==?0)?{
System.out.println("[index?=?"+num+"?sum?=?"+sum+"]");
}else?{
System.out.print("[index?=?"+num+"?sum?=?"+sum+"],");
}
}
return?sum;
}
public?static?void?main(String[]?args)?{
add(100);
}
}
JAVA中的遞歸方法?
自己調(diào)用自己或幾個(gè)方法相互調(diào)用。
最經(jīng)典的是求正整數(shù)階的算法:
int fact(int i){
if(i=1)return 1;
return fact(i-1)*i;
}
多數(shù)遞歸方法可以轉(zhuǎn)換成非遞歸方法。
一般同功能的非遞歸方法,執(zhí)行效率要優(yōu)于遞歸方法。但合理的使用遞歸方法,可以使代碼結(jié)構(gòu)更清晰,更有可讀性,從而更方便維護(hù)。
Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java?技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專業(yè)社群。
java遞歸查詢子節(jié)點(diǎn),按給的示例代碼實(shí)現(xiàn)
代碼如下:
import java.util.ArrayList;
import java.util.List;
class Org {
private String id;
private String name;
private String pid;
public Org(String id, String name, String pid) {
this.id = id;
this.name = name;
this.pid = pid;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
@Override
public String toString() {
return "Org [id=" + id + ", name=" + name + ", pid=" + pid + "]";
}
}
public class App {
static void find(ListOrg list, String pid) {
list.stream().filter(p - p.getPid().equals(pid))
.forEach(org - {
System.out.println(org);
find(list, org.getId());
});
}
public static void main(String[] args) {
ListOrg list = new ArrayList();
list.add(new Org("111", "公司", "0"));
list.add(new Org("222", "部門(mén)", "111"));
list.add(new Org("333", "小組", "222"));
list.add(new Org("444", "員工1", "333"));
list.add(new Org("555", "員工2", "333"));
find(list, "0");
System.out.println("------------------------------------");
find(list, "111");
}
}
運(yùn)行結(jié)果:
分享題目:java中的遞歸代碼 java中的遞歸是什么意思
分享鏈接:http://www.ef60e0e.cn/article/dodheie.html