
java 平均分排序,数据存放在文本文档中,包括学号 姓名 数学 语文 英语,平均分, 40
文本文档中存放数据例如:2008nice10155102007Ali20502030publicvoidaverageSort()//按平均分排序throwsIOExce...
文本文档中存放数据例如:2008 nice 10 15 5 10
2007 Ali 20 50 20 30
public void averageSort() //按平均分排序
throws IOException
{
long i =0;
String s="";
try{
DataArrayList dal = new DataArrayList();
BufferedReader in = new BufferedReader(new FileReader("c:\\data.txt"));
while((s=in.readLine())!=null)
{
i=numberTokenizer(s);
dal.add(i);
}
Collections.sort(dal);
DataMap dm = new DataMap();
BufferedReader in2 =new BufferedReader(new FileReader("c:\\data.txt"));
while((s=in2.readLine())!=null)
{
i=numberTokenizer(s);
dm.put(i,s);
}
PrintWriter out = new PrintWriter(new BufferedWriter( new FileWriter("c:\\data.txt")));
Iterator it = dal.iterator();
long temp=0;
String tempStr="";
while (it.hasNext())
{
temp = Integer.valueOf((String)it.next()).longValue();
tempStr = dm.get(temp);
out.println(tempStr);
}
out.close();
}catch(IOException e){
System.out.println("出现异常");}
}
此程序是根据第一个学号排序的,怎样修改使能够用第六个数据平均分排序????? 展开
2007 Ali 20 50 20 30
public void averageSort() //按平均分排序
throws IOException
{
long i =0;
String s="";
try{
DataArrayList dal = new DataArrayList();
BufferedReader in = new BufferedReader(new FileReader("c:\\data.txt"));
while((s=in.readLine())!=null)
{
i=numberTokenizer(s);
dal.add(i);
}
Collections.sort(dal);
DataMap dm = new DataMap();
BufferedReader in2 =new BufferedReader(new FileReader("c:\\data.txt"));
while((s=in2.readLine())!=null)
{
i=numberTokenizer(s);
dm.put(i,s);
}
PrintWriter out = new PrintWriter(new BufferedWriter( new FileWriter("c:\\data.txt")));
Iterator it = dal.iterator();
long temp=0;
String tempStr="";
while (it.hasNext())
{
temp = Integer.valueOf((String)it.next()).longValue();
tempStr = dm.get(temp);
out.println(tempStr);
}
out.close();
}catch(IOException e){
System.out.println("出现异常");}
}
此程序是根据第一个学号排序的,怎样修改使能够用第六个数据平均分排序????? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询