當前位置:編程學習大全網 - 編程語言 - 自動系統編程

自動系統編程

/*完全按照妳的要求寫的,可以采用。如果妳有任何問題,請繼續問我。*/

包裹?測試;

進口?Java . io . buffered reader;

進口?Java . io . buffered writer;

進口?Java . io . file;

進口?Java . io . filereader;

進口?Java . io . filewriter;

進口?Java . io . io exception;

進口?Java . text . number format;

進口?Java . util . ArrayList;

進口?Java . util . list;

進口?Java . util . scanner;

/**

*?文件保存格式為

*?學號、姓名、班級、java分數

*?學號、姓名、班級、java分數

*?學號、姓名、班級、java分數

*?學號、姓名、班級、java分數

*?學號、姓名、班級、java分數

*?總分

*?@作者?管理人員

*

*/

公共?班級?誌道?{

公共?靜電?作廢?main(String[]?args)?{

文件?文件?=?新的?file(" javascore . text ");

列表& ltstring[]& gt;?infos?=?null

如果?(file.exists())?{

System.out.println("現有信息:");

infos?=?getInfos(文件);

system . out . println(print infos(infos));

system . exit(0);

}?不然呢?{

試試?{

file . create new file();

}?接住?(IOException?e)?{

//?托多?自動生成?接住?街區

//e . printstacktrace();

System.out.println("無法創建文件"?+?e . getmessage());

system . exit(1);

}

}

infos?=?新的?ArrayList & ltstring[]& gt;();

掃描儀?掃描?=?新的?掃描儀(system . in);

字符串?信息?=?null

String[]?strs?=?null

int?數數?=?0;

數字格式?nf?=?number format . get number instance();

nf . setminimumcfractiondigits(2);?

nf . setmaximumfractiondigits(2);

浮動?總分?=?0;

什麽時候?(算嗎?& lt?5)?{

System.out.println("請輸入數字?"?+?(算嗎?+?1)?+?“學生基本信息[學號,姓名,班級,java成績,用英文逗號分隔]:);

信息?=?scan.next()。trim();

//判斷結果的合法性

strs?=?info.split(",");

如果?(strs.length?!=?4)?{

System.out.println("輸入信息不正確,請重新輸入!");

繼續;

}

試試?{

如果?(Float.valueOf(strs[3])?& gt?100)?{

System.out.println("分數不能超過100分!");

繼續;

}

}?接住?(NumberFormatException?e)?{

//?TODO:?手柄?例外

System.out.println("年級輸入錯誤!"?+?e . getmessage());

繼續;

}

總分?+=?float . value of(strs[3]);

infos.add

count++;

}

infos.add(新?String[]{nf.format(totalScore),?nf.format(totalScore?/?5)});

system . out . println(print infos(infos));

saveInfos(信息);

System.out.println("保存完成!");

}

公共?靜電?字符串?print infos(List & lt;string[]& gt;?infos)?{

字符串?str?=?"";

為了什麽?(String[]?ss:infos)?{

如果?(ss.length?==?2)?{

str?+=?"總分:"?+?ss[0]?+?" \n平均分數:"?+?ss[1]?+?”\ n”;

繼續;

}

str?+=?“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n”?+?"學號:"?+?ss[0]?+?" \n "

+?"名稱:"+?ss[1]?+?" \n "

+?"類:"?+?ss[2]?+?" \n "

+?" java評分:"?+?ss[3]?+?”\ n \ n \ n”;

}

回歸?str

}

公共?靜電?作廢?save infos(List & lt;string[]& gt;?信息){

FileWriter?作家?=?null

BufferedWriter?buffWriter?=?null

試試?{

作家?=?新的?FileWriter(新?file(" javascore . text "));

buffWriter?=?新的?BufferedWriter(作家);

字符串?str?=?null

為了什麽?(String[]?ss:infos)?{

str?=?ss[0]?+?","?+?ss[1];

如果?(ss.length?& gt?2)?{

str?+=?","?+?ss[2]?+?","?+?ss[3];

}

buff writer . write(str);

buff writer . newline();

}

buff writer . flush();

}?接住?(例外?e)?{

//?TODO:?手柄?例外

System.out.println("將信息保存到文件時出錯:"?+?e . getmessage());

system . exit(1);

}?終於?{

如果?(作家?!=?null)?{

試試?{

writer . close();

}?接住?(IOException?e)?{

//?托多?自動生成?接住?街區

e . printstacktrace();

}

}

如果?(buffWriter?!=?null)?{

試試?{

buff writer . close();

}?接住?(IOException?e)?{

//?托多?自動生成?接住?街區

e . printstacktrace();

}

}

}

}

公共?靜電?列表& ltstring[]& gt;?getInfos(文件?f)?{

FileReader?讀者?=?null

BufferedReader?buffReader?=?null

列表& ltstring[]& gt;?infos?=?新的?ArrayList & ltstring[]& gt;();

試試?{

讀者?=?新的?FileReader(f);

buffReader?=?新的?BufferedReader(閱讀器);

字符串?str?=?null

什麽時候?((str?=?buffReader.readLine())?!=?null)?{

infos.add(str.split(",");

}

}?接住?(例外?e)?{

System.out.println("從文件中讀取信息時出錯..."?+?e . getmessage());

system . exit(1);

//e . printstacktrace();

}?終於?{

如果?(讀者?!=?null)?{

試試?{

reader . close();

}?接住?(IOException?e)?{

//?托多?自動生成?接住?街區

e . printstacktrace();

}

}

如果?(buffReader?!=?null)?{

試試?{

buff reader . close();

}?接住?(IOException?e)?{

//?托多?自動生成?接住?街區

e . printstacktrace();

}

}

}

回歸?infos

}

}

  • 上一篇:怎麽做才能學好計算機編程?
  • 下一篇:java OutputStream使用方法
  • copyright 2024編程學習大全網