進口?Java . io . filewriter;
進口?Java . io . io exception;
進口?Java . util . collections;
進口?Java . util . comparator;
進口?Java . util . linked list;
進口?Java . util . scanner;
公共?班級?學生
{
雙倍?中文;
雙倍?數學;
雙倍?英語;
雙倍?總和;
字符串?sname
公共?學生?(?雙倍?中國人?雙倍?數學,?雙倍?英語,?雙倍?總和,?字符串?sname?)
{
這個.中國菜?=?中文;
這個數學?=?數學;
這個.英語?=?英語;
這個. sum?=?總和;
這個名字。=?sname
}
@覆蓋
公共?字符串?toString?()
{
回歸?字符串.格式?(" % s \ t \ t % 2 $ . 1f \ t \ t % 3 $ . 1f \ t \ t % 4 $ . 1f \ t \ t \ t % 5 $ . 1f ",sname,?中國人?數學,?英語,?sum);
}
公共?靜電?作廢?主要?(?String[]?args?)
{
掃描儀?掃描儀?=?新的?掃描儀?(system . in);
LinkedList & lt學生& gt?列表?=?新的?LinkedList & lt學生& gt?();
System.out.println?(“從鍵盤輸入學生信息,輸入格式為:姓名,30,30,30(姓名,三門課成績) <剛回車結束>);
什麽時候?(scanner.hasNextLine?())
{
字符串?線?=?scanner.nextLine?().修剪?();
如果?("".等於?(行))
{
打破;
}
String[]?信息?=?分割線?("\\,");
字符串?名字?=?信息[0];
雙倍?中國人?=?0;
雙倍?數學?=?0;
雙倍?英語?=?0;
雙倍?sum?=?0;
嘗試
{
中國人?=?Double.parseDouble?(info[1]);
數學?=?Double.parseDouble?(信息[2]);
英語?=?Double.parseDouble?(信息[3]);
sum?=?中國人?+?數學?+?英語;
}
接住?(例外?e)
{
System.out.println?(“格式不正確,重寫輸入:“);
繼續;
}
學生?學生?=?新的?學生?(中文,?數學,?英語,?總和,?姓名);
list.add?(學生);
}
掃描儀。關閉?();
收藏。排序?(列表,?新的?比較器& lt學生& gt?()
{
@覆蓋
公共?int?比較?(?學生?o1,?學生?o2?)
{
如果?(o1.sum?& gt?o2.sum)
{
回歸?-1;
}
不然呢?如果?(o1.sum?& lt?o2.sum)
{
回歸?1;
}
其他
{
回歸?0;
}
}
});
嘗試
{
字符串?文件?=?”stu . txt”;
字符串?線?=?System.getProperty?(" line . separator ");
FileWriter?fw?=?新的?FileWriter?(文件,?真);
FileReader?弗雷德?=?新的?FileReader?(文件);
如果?(弗雷德?()?==?-1)
{
fw.write?(“姓名\ t \ t中文\ t \ t數學\ t \ t英語\ t \ t總分”?+?行);
}
神父關閉?();
為了什麽?(?學生?學生?:?列表?)
{
fw.write?(student.toString?()?+?行);
fw.flush?();
}
fw.close?();
System.out.println?(“加入完成。”);
}
接住?(IOException?e)
{}
}
}