62,615
社区成员
发帖
与我相关
我的任务
分享
package com.zhengjihuaren.csdn;
import java.io.File;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 成绩表
*/
public abstract class ScoreTable {
private List<Score> scores;
/**
* 从文件中加载成绩表
*/
public void loadFile(File inFile) {
scores = doLoadFile(inFile);
}
protected abstract List<Score> doLoadFile(File file);
/**
* 对成绩表进行排序
*/
public void sort() {
if (scores != null) {
Collections.sort(scores, new Comparator<Score>() {
@Override
public int compare(Score o1, Score o2) {
return Integer.compare(o1.getTotalScore(),
o2.getTotalScore());
}
});
}
}
/**
* 将成绩表输出到文件
*/
public void writeFile(File outFile) {
doWriteFile(outFile);
}
protected void doWriteFile(File outFile) {
}
}
还有一个学生成绩单类,这个就相对很简单了。
package com.zhengjihuaren.csdn;
public class Score {
private String name;
private String id;
private int totalScore;
public Score(String name, String id, int totalScore) {
super();
this.name = name;
this.id = id;
this.totalScore = totalScore;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getTotalScore() {
return totalScore;
}
public void setTotalScore(int totalScore) {
this.totalScore = totalScore;
}
}
package com.isoftstone.readxml;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class ReadStuData {
/** * @param args */
public static void main(String[] args) throws Exception {
List<Student> myList = readXML();
List<Student> stu = array(myList);
write(stu);
}
public static List<Student> readXML()
{
File file = new File("D:\\1\\result_1.txt");
List<Student> stuList = new ArrayList<Student>();//学生集合
try {
SAXBuilder sb = new SAXBuilder();
String name = "bin.com.isoftstone.readxml.Student";
// bin是eclipse中java编译后的class目录
String newName = name.replaceAll("[.]", "/");
System.out.println(newName + ".xml");
Document doc = null;
doc = sb.build(new File(newName + ".xml"));
Element root = doc.getRootElement();
// HD
if (root == null) {
System.out.println("root is null");
return null;
} else {
//System.out.println(root.getName());
}
@SuppressWarnings("unchecked")
List<Element> list = root.getChildren("student");
// child
for (int i = 0; i < list.size(); i++) {
Element element = (Element) list.get(i);
@SuppressWarnings("unchecked")
List<Element> idChildElements = element.getChildren();
/*System.out.println("idChildElements.size():"
+ idChildElements.size());*/
Student stu = new Student();
for (int k = 0; k < idChildElements.size(); k++) {
Element element2 = (Element) idChildElements.get(k);
String value = element2.getValue();
switch (k) {
case 0:
stu.setStuName(value);
break;
case 1:
stu.setStuCity(value);
break;
case 2:
stu.setStuScore(Double.parseDouble(value));
break;
}
//System.out.println(value.trim());
//fr.write(value.trim()+" \n");
}
stuList.add(stu);
}
} catch (Exception e) {
e.printStackTrace();
}
return stuList;
}
/**
* 排序
* @param list
* @return List<StudentVO> [返回类型说明]
*/
public static List<Student> array(List<Student> list) {
Student stuTemp = null;
// 冒泡排序
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size() - i - 1; j++) {
stuTemp = new Student();
if (list.get(j).getStuScore() < list.get(j + 1).getStuScore()) {
stuTemp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, stuTemp);
}
}
}
return list;
}
/**
* 写入文件 <功能详细描述>
*
* @param stu
* @return void [返回类型说明]
*/
public static void write(List<Student> stu) {
File file = new File("D:\\1\\result_2.txt");
try {
file.createNewFile();
FileWriter resultFile = new FileWriter(file);
PrintWriter myFile = new PrintWriter(resultFile);
for (int i = 0; i < stu.size(); i++) {
// 每行每行写入
myFile.println(stu.get(i).getStuName() + " "
+ stu.get(i).getStuCity() + " "
+ stu.get(i).getStuScore());
if (i > 3) {
break;
}
}
myFile.close();
resultFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.isoftstone.readxml;
public class Student {
private String stuName;
private String stuCity;
private double stuScore;
public double getStuScore() {
return stuScore;
}
public void setStuScore(double stuScore) {
this.stuScore = stuScore;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getStuCity() {
return stuCity;
}
public void setStuCity(String stuCity) {
this.stuCity = stuCity;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<name>wangwuyi</name>
<city>nanjing</city>
<score>90</score>
</student>
<student>
<name>kangyongqiang</name>
<city>nanjing</city>
<score>95</score>
</student>
</students>
这是我写的,各位大神根据题目,帮我改改!谢谢