用java实现对input.txt文件中的学号进行冒泡排序,从小到大,文件是以逗号分隔的文件如

3110005837,张三,,计算机科学与技术10(1),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3110005838,李四,,计算机科学与技术10(1),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,(大概有200行这样的数据)
排好后输出到output.txt
现在我没分,不过拜托会的帮帮忙啦

你这个问题实际上可以分成三个步骤,
1,先把input.txt文件读入一个数组或链表list
这一步你可以规划一下,为了后面2个步骤,链表的数据结构怎么弄,比如链表的每个元素应该有自己的索引序号(应该等于原文件中的行号),从文件中读到的学号。
2,对这个链表list(数组)冒泡排序
这一步你可以参照任何网上的冒泡排序算法对list进行排序。其实很简单,就是个两层循环,外层循环对所有元素进行,内层小循环负责冒泡。(其实题目没要求的话,可以用JDK Collection类的sort方法排,一句搞定)
3,将排序结果写入output.txt
有了前两步骤的基础,特别是排序好的list,你只需要根据排序好的索引序号(等于新文件中的行号),把文件的对应行写入新文件就可以了。

你这么区分一下,思路就清楚了,就不给你写了,练习一下有好处哦。实在搞不定再hi我。追问

    数组是用ArrayList实现吗?用add方法吗,还是实现不出来,晕死

追答

List的任何子类都可以,ArrayList当然也行了,再练习练习吧,自己写出来有成就感的。

追问

再烦你下下哈,我new了一个ArrayList数组contentArrays.把读入的整行用逗号分隔存入一个String类型的数组ArrayTemp,再把整个数组放入contentArrays,加了索引值,但是在排序时可以这样取吗?
if((contentArrays.get(j-1).ArrayTemp[0]).compareTo(contentArrays.get(j).ArrayTemp[0])>0)好像不行,因为有报错

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-10
你有这行代码吗?写好的给我吧我也遇到这个问题不会弄!!![email protected]