已有101人关注
求解
发表在Java图书答疑 2014-08-23
是否精华
版块置顶:
public class Student implements Comparable<Student>{
private String name;
private int ma,cn,en;
private int sum;

Student(String name,int ma, int cn, int en){ 
this.name = name;
this.ma = ma;
this.cn = cn;
this.en = en;
sum = ma + cn + en;
}
public int compareTo(Student s){
int num = new Integer(this.sum).compareTo(new Integer(s.sum));
if(num == 0)
return this.name.compareTo(s.name);
return num;
}

public String getName(){
return name;
}
public int getSum(){
return sum;
}

public String toString(){
return "student("+name+", "+ma+", "+cn+", "+en+")";
}

public int hashCode(){ 
return name.hashCode() + sum*78;
}
public boolean equals(Object obj){
if(!(obj instanceof Student))
throw new ClassCastException("类型不匹配");
Student s = (Student)obj;
return this.name.equals(s.name)&& this.sum == s.sum; 
}

}
public class StudentInfoToole {

public static Set<Student> getStudent() throws IOException{
return getStudent(null);
}


public static Set<Student> getStudent(Comparator<Student> cmp) throws NumberFormatException, IOException{
BufferedReader bufr 
=new BufferedReader(new InputStreamReader(System.in)); 
String line = null;

Set<Student> stus = null; 

if(cmp == null)
stus = new TreeSet<Student>();
else
stus = new TreeSet<Student>(cmp);

while((line = bufr.readLine())!= null){
if("over".equals(line))
break;
String[] info = line.split(","); 

Student stu = new Student(info[0],Integer.parseInt(info[1]),Integer.parseInt(info[2]),
Integer.parseInt(info[3]));
//parseInt(String s) 

}
bufr.close();

return stus;
}
public static void Write2File(Set<Student> stus)throws IOException{
BufferedWriter bufw = 
new BufferedWriter(new FileWriter("e://stuInfo.txt"));

for(Student stu : stus){
bufw.write(stu.toString()+"\t");
bufw.write(stu.getSum()+"");
bufw.newLine();
bufw.flush();
}
bufw.close();
}
}public class StudentInfoTest {

public static void main(String[] args) throws IOException {

Comparator<Student> cmp = Collections.reverseOrder();

Set<Student> Stus = StudentInfoToole.getStudent(cmp);//调用方法

StudentInfoToole.Write2File(Stus);
}

}
分享到:
精彩评论 2
xiomara0513
学分:0 LV1
TA的每日心情
java
2020-04-27 12:09:24
2014-08-23
沙发
此代码 方法Write2File中
bufw.write(stu.toString()+"\t");
bufw.write(stu.getSum()+""); //此处不加空字符会打印乱码 求解
无语_mrkj
学分:3155 LV11
2014-08-25
板凳
请问您是这哪本书中的哪一章的哪个实例,我们看一下。
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照