java递归简易应用教程

package com.xiaohao.test;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;

public class Test {

/**
* |-市场部
*   |-宣传部
*   |-业务部
*     |-业务一部
*     |-业务二部
* |-开发部
*   |-开发一部
*   |-开发二部
* @param args
*/

public ArrayList<Department> init() {

Department depart_7=new Department("业务一部", null);
Department depart_8=new Department("业务二部", null);

Department depart_5=new Department("开发一部", null);
Department depart_6=new Department("开发二部", null);

ArrayList<Department> list=new ArrayList<Department>();
list.add(depart_7);
list.add(depart_8);
Department depart_4=new Department("业务部",list);
Department depart_3=new Department("宣传部",null);

ArrayList<Department> list2=new ArrayList<Department>();
list2.add(depart_3);
list2.add(depart_4);
Department depart_1=new Department("市场部",list2);

ArrayList<Department> list3=new ArrayList<Department>();
list3.add(depart_5);
list3.add(depart_6);
Department depart_2=new Department("开发部", list3);

ArrayList<Department> list4=new ArrayList<Department>();
list4.add(depart_1);
list4.add(depart_2);
Department depart_0=new Department("树根",list4);
return (ArrayList<Department>) depart_0.getChildrenDepartment();
}

public void showDepartment(List<Department> list,String prefix){
if(list==null)
return;
prefix=prefix+"  ";
for(Department department:list)
{
System.out.println(prefix+"|-"+department.getName());
showDepartment(department.getChildrenDepartment(),prefix);
}

}

@org.junit.Test
public void test(){
ArrayList<Department> list=init();
showDepartment(list," ");
}

public static void main(String[] args) {
Locale[] locals=Locale.getAvailableLocales();
System.out.println("java所支持的所有语言如下:");
System.out.println("--------------------------------------------------------------------");
for(Locale local:locals)
{
System.out.println(local.getDisplayLanguage());
}
System.out.println("--------------------------------------------------------------------");

Locale local=Locale.getDefault();
ResourceBundle resource=ResourceBundle.getBundle("com.xiaohao.test.xiaohao", local);
System.out.println(resource.getString("userName"));

}
}

时间: 2024-10-18 23:29:39

java递归简易应用教程的相关文章

Android简易实战教程--第十六话《SharedPreferences保存用户名和密码》

之前在Android简易实战教程--第七话<在内存中存储用户名和密码> 那里是把用户名和密码保存到了内存中,这一篇把用户名和密码保存至SharedPreferences文件.为了引起误导,声明实际开发中不会用到这两种方式,这里指示提供一种思路和给初学者学习简单的api. 由于内容和之前的基本一样,不做过多的解释.直接上代码: xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

JAVA递归、非递归遍历二叉树(转)

原文链接: JAVA递归.非递归遍历二叉树 import java.util.Stack; import java.util.HashMap; public class BinTree { private char date; private BinTree lchild; private BinTree rchild; public BinTree(char c) { date = c; } // 先序遍历递归 public static void preOrder(BinTree t) {

2016年netty/mina/java nio视频教程java游戏服务器设计教程

2016年netty/mina/Javanio视频教程Java游戏服务器设计教程 需要的加qq:1225462853,备注:程序员学习视频 其他视频都可以索要(Netty   NET    C++ 等等) 互联网架构师教程:http://blog.csdn.net/pplcheer/article/details/71887910 netty录制时间为2015.11-2016.2月份  netty教程为加密视频!      netty12个课程已全部录制完成,相信通过这12节课的分析能让大家对n

Web压力测试工具 LoadRunner12.x简易入门教程--(一)回放与录制

LoadRunner12.x简易入门教程--(一)回放与录制 今天在这里分享一下LoadRunner12.x版本的入门使用方法,希望对刚接触LoadRunner的童鞋有所帮助. LoadRunner12的组成分为三部分,分别是:Virtual User Generator.Controller.Analysis 首先要介绍的是用Virtual User Generator做一个最简单的录制与回放. 打开软件后,界面如下,通过左上角的菜单,我们来新建一个脚本 由于现在Web项目比较多,这里也就用W

欧几里得求最大公约数--JAVA递归实现

欧几里得算法求最大公约数算法思想: 求p和q的最大公约数,如果q=0,最大公约数就是p:否则,p除以q余数为r,p和q的最大公约数即q和r的最大公约数. java实现代码: 1 public class Demo0 { 2 public static void main(String[] args) { 3 4 System.out.println(gcd(24,120)); 5 } 6 7 8 public static int gcd(int p,int q){ 9 10 if(q==0)

java——递归调用

递归调用是调用自身的函数,并传给自身的相应的参数,这一运算过程是一层层的进行的,直到满足一定条件时,才停止调用. 递归函数的特点 1.函数要直接或间接调用自身. 2.要有递归终止条件检查,即递归终止的条件被满足后,则不再调用自身函数. 3.如果不满足递归终止的条件,则调用涉及递归调用的表达式.在调用函数自身时,有关终止条件的参数要发生变化,而且需向递归终止的方向变化. 举例: 计算5的阶乘? public class TestWudejiecheng { public static void m

基于JAVA的简易在线聊天系统,觉得挺自豪的一个项目

项目做的比较多,最近,做的一个项目:基于JAVA的简易在线聊天系统,感觉挺自豪的. 这个项目应用JAVA编程语言实现基于网络的文本交互软件的设计和实现,达到多客户端收发文本消息的交互操作.通过服务器端多线程地监控客户端的登陆和退出,实时接收客户端发出的消息并定向发送到指定客户端,以实现在线实时文本消息传输功能:当服务器端运行时,客户端可以随时登陆和退出:客户端登陆时可以设置个人信息,包括用户名和密码:保持一定的系统稳定性,客户端与服务器端的连接稳定. 这个“基于JAVA的简易在线聊天系统”是我在

JAVA开发简易计算器界面-SWT

大家好,我是成都[LD],博客四年前就申请了,一直没打理,最近正好有时间,遂萌生了写技术博客的念头.我不得不感慨现在新技术更新很快,一不小心,就感觉自身就Out了.记得一年前,当时我也是在51CTO上了解到NoSQL和Hadoop这样的信息,当时就简单觉得很新奇,没想到一年之后发展如此迅速~~当然我这样说,并不是叫大家去追寻新技术,最根本的还是基础打牢靠,休息的时候多去了解下最新的IT动态.学习下前辈高手的一些技能~~打铁还需自身硬嘛! 我写博客的目的:一来是为了促进自身的进步,二来是为了希望与

Git GUI简易使用教程

Git GUI简易使用教程:先上图~~~~~ 一. 先从添加文件开始讲(先上图): 1.选中要添加的文件,点击菜单栏的“提交”,选中“缓存为提交”, 2.接下来不用说了直接跑流程(习惯说跑流程概念不是很清楚还请见谅见谅): 提交(Git commit) 提交则代表此前被添加ADD的文件已确认被提交到Git库了.需要注意的是,如果你改变代码的缩进(尽管没有修改内容),默认状态下会被识别为整个代码全部变更.提交的时候是要求必须要写备注的. 上传(Git push) 顾名思义,上传则是上至远端服务器了