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)文章
idea指定maven的settings文件不生效的問(wèn)題解決
本文主要介紹了idea指定maven的settings文件不生效的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
java實(shí)現(xiàn)雙色球抽獎(jiǎng)算法
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)雙色球抽獎(jiǎng)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
解決Springboot啟動(dòng)報(bào)錯(cuò):類文件具有錯(cuò)誤的版本61.0,應(yīng)為?52.0
這篇文章主要給大家介紹了關(guān)于解決Springboot啟動(dòng)報(bào)錯(cuò):類文件具有錯(cuò)誤的版本?61.0,應(yīng)為?52.0的相關(guān)資料,這是查閱了網(wǎng)上的很多資料才解決的,分享給大家,需要的朋友可以參考下2023-01-01
一文帶你學(xué)會(huì)Java網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備(計(jì)算機(jī))的程序,這些設(shè)備都通過(guò)網(wǎng)絡(luò)連接起來(lái)。這篇文章將帶大家深入了解一下Java的網(wǎng)絡(luò)編程,需要的可以了解一下2022-08-08
解決javaBean規(guī)范導(dǎo)致json傳參首字母大寫將永遠(yuǎn)獲取不到問(wèn)題
這篇文章主要介紹了解決javaBean規(guī)范導(dǎo)致json傳參首字母大寫將永遠(yuǎn)獲取不到問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java8中forEach語(yǔ)句循環(huán)一個(gè)List和Map
這篇文章主要給大家介紹了關(guān)于Java8中forEach語(yǔ)句循環(huán)一個(gè)List和Map的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
基于Spring Boot的Environment源碼理解實(shí)現(xiàn)分散配置詳解
這篇文章主要給大家介紹了基于Spring Boot的Environment源碼理解實(shí)現(xiàn)分散配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
springboot?jpa?實(shí)現(xiàn)返回結(jié)果自定義查詢
這篇文章主要介紹了springboot?jpa?實(shí)現(xiàn)返回結(jié)果自定義查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

