亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java經典50題

java經典50題

狼顧之相1995 2016-10-25 10:30:27
【程序50】題目:有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成績),計算出平均成績,將原有的數據和計算出的平均分數存放在磁盤文件"stud"中。?
查看完整描述

1 回答

?
Super_Scholar

TA貢獻25條經驗 獲得超14個贊

import?java.io.FileReader;
import?java.io.FileWriter;
import?java.io.IOException;
import?java.util.Collections;
import?java.util.Comparator;
import?java.util.LinkedList;
import?java.util.Scanner;
?
public?class?Student
{
????double?chinese;
????double?math;
????double?english;
????double?sum;
????String?sname;
?
????public?Student?(?double?chinese,?double?math,?double?english,?double?sum,?String?sname?)
????{
????????this.chinese?=?chinese;
????????this.math?=?math;
????????this.english?=?english;
????????this.sum?=?sum;
????????this.sname?=?sname;
????}
?
????@Override
????public?String?toString?()
????{
????????return?String.format?("%s\t\t%2$.1f\t\t\t%3$.1f\t\t\t%4$.1f\t\t\t%5$.1f",?sname,?chinese,?math,?english,?sum);
????}
?
????public?static?void?main?(?String[]?args?)
????{
????????Scanner?scanner?=?new?Scanner?(System.in);
????????LinkedList<Student>?list?=?new?LinkedList<Student>?();
????????System.out.println?("從鍵盤輸入學生的信息,輸入格式為:name,30,30,30(姓名,三門課成績)<直接回車結束>");
????????while?(scanner.hasNextLine?())
????????{
????????????String?line?=?scanner.nextLine?().trim?();
????????????if?("".equals?(line))
????????????{
????????????????break;
????????????}
????????????String[]?info?=?line.split?("\\,");
????????????String?name?=?info[0];
????????????double?chinese?=?0;
????????????double?math?=?0;
????????????double?english?=?0;
????????????double?sum?=?0;
????????????try
????????????{
????????????????chinese?=?Double.parseDouble?(info[1]);
????????????????math?=?Double.parseDouble?(info[2]);
????????????????english?=?Double.parseDouble?(info[3]);
????????????????sum?=?chinese?+?math?+?english;
????????????}
????????????catch?(Exception?e)
????????????{
????????????????System.out.println?("格式不正確,重寫輸入:");
????????????????continue;
????????????}
????????????Student?student?=?new?Student?(chinese,?math,?english,?sum,?name);
????????????list.add?(student);
????????}
????????scanner.close?();
????????Collections.sort?(list,?new?Comparator<Student>?()
????????{
????????????@Override
????????????public?int?compare?(?Student?o1,?Student?o2?)
????????????{
????????????????if?(o1.sum?>?o2.sum)
????????????????{
????????????????????return?-1;
????????????????}
????????????????else?if?(o1.sum?<?o2.sum)
????????????????{
????????????????????return?1;
????????????????}
????????????????else
????????????????{
????????????????????return?0;
????????????????}
????????????}
????????});
????????try
????????{
????????????String?file?=?"stu.txt";
????????????String?line?=?System.getProperty?("line.separator");
????????????FileWriter?fw?=?new?FileWriter?(file,?true);
????????????FileReader?fr?=?new?FileReader?(file);
????????????if?(fr.read?()?==?-1)
????????????{
????????????????fw.write?("姓名\t\t語文\t\t數學\t\t英語\t\t總分"?+?line);
????????????}
????????????fr.close?();
????????????for?(?Student?student?:?list?)
????????????{
????????????????fw.write?(student.toString?()?+?line);
????????????????fw.flush?();
????????????}
????????????fw.close?();
????????????System.out.println?("加入完畢.");
????????}
????????catch?(IOException?e)
????????{}
????}
}


查看完整回答
反對 回復 2016-10-25
  • 1 回答
  • 1 關注
  • 1598 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號