Java實現(xiàn)學生成績輸出到磁盤文件的方法詳解
一、題目描述
題目:有五個學生,每個學生有 3 門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學生號,姓名,三門課成績),
把這些數(shù)據(jù)存放在磁盤文件 "stud.txt "中。
二、解題思路
1、寫學生鍵盤輸入和成績鍵盤輸入,Scanner input1 = new Scanner(System.in);
2、把學生和成績拼接成字符串
3、把字符串保存到硬盤文件 "stud.txt "中。
三、代碼詳解
public class Basics102 { public static void fileWriter(String str) { FileWriter fw =null; try { fw = new FileWriter("D:\\stud.txt", true); //如["\\stud.txt"]則表示在項目盤符的根目錄建立文件,如項目在F盤,則在F盤根目錄建立文件 //如["save\\stud.txt"]則表示在當前項目文件夾里找到命名為[save]的文件夾,把文件新建在該文件夾內 System.out.println("數(shù)據(jù)已成功寫入"); fw.write(str); fw.close(); } catch (Exception e) { //拋出一個運行時異常(直接停止掉程序) throw new RuntimeException("運行時異常",e); }finally { try { //操作完要回收流 fw.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) { int i,j,k=1; String id[] = new String[5]; int score[] = new int[15]; String name[] = new String[5]; String str=null; Scanner inputId = new Scanner(System.in); Scanner inputName = new Scanner(System.in); Scanner inputScore = new Scanner(System.in); for(i=0;i<5;i++) { System.out.print("請輸入第"+(i+1)+"位同學的學號:"); id[i]=inputId.nextLine(); System.out.print("請輸入第"+(i+1)+"位同學的姓名:"); name[i]=inputName.nextLine(); for(j=i*3;j<i*3+3;j++) { System.out.print("請輸入第"+(i+1)+"位同學的第"+k+++"門成績:"); score[j]=inputScore.nextInt(); } k=1; } for(i=0;i<5;i++) { str="學號"+id[i]; str=str+" "+"姓名"+name[i]; for(j=i*3;j<i*3+3;j++) str=str+" "+"第"+k+++"門成績="+score[j]; k=1; System.out.println(); fileWriter(str+"\r\n"); } } }
解法二:引入Hutool
解題思路
1、寫學生鍵盤輸入和成績鍵盤輸入,Scanner input1 = new Scanner(System.in);
2、把學生和成績拼接成字符串
3、把字符串保存到硬盤文件 "stud.txt "中。
在上一個解法的基礎上,優(yōu)化了第三步,使用
將String寫入文件,UTF-8編碼追加模式
FileUtil.appendUtf8String(str,"D:\stud2.txt");
代碼詳解
public class Basics102_2 { public static void main(String[] args) { int i,j,k=1; String id[] = new String[5]; int score[] = new int[15]; String name[] = new String[5]; String str=null; Scanner inputId = new Scanner(System.in); Scanner inputName = new Scanner(System.in); Scanner inputScore = new Scanner(System.in); for(i=0;i<5;i++) { System.out.print("請輸入第"+(i+1)+"位同學的學號:"); id[i]=inputId.nextLine(); System.out.print("請輸入第"+(i+1)+"位同學的姓名:"); name[i]=inputName.nextLine(); for(j=i*3;j<i*3+3;j++) { System.out.print("請輸入第"+(i+1)+"位同學的第"+k+++"門成績:"); score[j]=inputScore.nextInt(); } k=1; } for(i=0;i<5;i++) { str="學號"+id[i]; str=str+" "+"姓名"+name[i]; for(j=i*3;j<i*3+3;j++) str=str+" "+"第"+k+++"門成績="+score[j]; str +="\n"; k=1; try { //不需要關閉文件流,源碼已經(jīng)有了 FileUtil.appendUtf8String(str,"D:\\stud2.txt"); }catch (IORuntimeException e){ //拋出一個運行時異常(直接停止掉程序) throw new RuntimeException("運行時異常",e); } } } }
到此這篇關于Java實現(xiàn)學生成績輸出到磁盤文件的方法詳解的文章就介紹到這了,更多相關Java成績輸出到磁盤文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
關于Java應用日志與Jaeger的trace關聯(lián)的問題
這篇文章主要介紹了Java應用日志如何與Jaeger的trace關聯(lián),通過jaeger發(fā)現(xiàn)這十次請求中有一次耗時特別長,想定位一下具體原因,感興趣的朋友跟隨小編一起看看吧2022-01-01MyBatis基于pagehelper實現(xiàn)分頁原理及代碼實例
這篇文章主要介紹了MyBatis基于pagehelper實現(xiàn)分頁原理及代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06修改Springboot默認序列化工具Jackson配置的實例代碼
這篇文章主要介紹了如何修改Springboot默認序列化工具Jackson的配置,當Spring容器中存在多個同類型的Bean時,默認情況下最后一個創(chuàng)建的Bean將作為首選Bean,文中通過代碼給大家介紹的非常詳細,需要的朋友可以參考下2024-02-02Java如何實現(xiàn)支付寶電腦支付基于servlet版本
這篇文章主要介紹了Java如何實現(xiàn)支付寶電腦支付基于servlet版本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11使用sts工具、SpringBoot整合mybatis的詳細步驟
這篇文章主要介紹了使用sts工具、SpringBoot整合mybatis的詳細步驟,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04解決nacos升級spring cloud 2020.0無法使用bootstrap.yml的問題
這篇文章主要介紹了解決nacos升級spring cloud 2020.0無法使用bootstrap.yml的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06