求助啊,十万火急的面试题,关于FOR循环,高手帮帮忙,谢谢
有如下结构的数据,写一个循环,输出此数据的树形结构定义。
ID PARENT_ID NAME
-------------------
1 0 A
2 1 B
3 1 C
4 2 D
5 3 E
6 5 F
7 0 G
8 7 H
9 3 I
效果如下:
1-----------A
-------2-----------B
--------------4-----------D
-------3-----------C
--------------5-----------E
---------------------6-----------F
--------------9-----------I
7-----------G
-------8-----------H
[解决办法]
用递归吧
- Java code
static List<String[]> list=new ArrayList<String[]>(); static { list.add(new String[]{"1","0","A"}); list.add(new String[]{"2","1","B"}); list.add(new String[]{"3","1","C"}); list.add(new String[]{"4","2","D"}); list.add(new String[]{"5","3","E"}); list.add(new String[]{"6","5","F"}); list.add(new String[]{"7","0","G"}); list.add(new String[]{"8","7","H"}); list.add(new String[]{"9","3","I"}); } public static void test(String n,int lvl){ String p=""; for(int i=1;i<lvl;i++){ p+="---"; } for(String[] d:list){ if(d[1].equals(n)){ System.out.println(p+d[0]+"--"+d[2]); test(d[0],(lvl+1)); } } } public static void main(String[] args) { test("0",1); }