首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

好手帮帮忙,一道笔试题

2012-12-26 
高手帮帮忙,一道笔试题本帖最后由 xiaanming 于 2012-12-12 10:46:58 编辑a.b.c.da.c.d.za.c.cb.a转换成如

高手帮帮忙,一道笔试题
本帖最后由 xiaanming 于 2012-12-12 10:46:58 编辑 a.b.c.d
a.c.d.z
a.c.c
b.a

转换成如下格式的文本:

root
|---a
    |---b
        |---c
            |---d
    |---c
        |---d
            |---z
    |---c
        |---c
|---b
    |---a

下面是我写的部分代码

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


public class Test {
static String s = null;

public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:/javaProject/dir.txt")));

while((s = br.readLine()) != null){
String[] arr = s.split("\\.");

for(int i = 0; i < arr.length; i++){
String ou = "";
for(int p = 0; p < i; p++){
ou += "\t";
}
ou += "|---" + arr[i];
System.out.println(ou);
}

}

if(br != null){
br.close();
br = null;
}
} catch (FileNotFoundException e) {
System.out.println("文件读取错误!");
} catch (IOException e) {
e.printStackTrace();
}
}
}


我打印的结果是:
|---http
|---ting
|---baidu
|---com
|---song
|---946428
|---http
|---ting
|---baidu
|---com
|---song
|---1670643
|---http
|---ting
|---baidu
|---com
|---song
|---1400921
|---http
|---ting
|---baidu
|---com
|---song
|---1263029
|---http
|---ting
|---baidu
|---com
|---song
|---1137358


需要的效果是:
|---http
|---ting
|---baidu
|---com
|---song
|---946428

                                        |---1137358

                                        |---1263029

                                        |---946428


[解决办法]
这只是针对给出的例子,还是有点弊端,就是相同的头元素必须顺序放在一起。不能随即存放,
得稍加改动下

热点排行