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