Java實現(xiàn)學(xué)生成績輸出到磁盤文件的方法詳解
一、題目描述
題目:有五個學(xué)生,每個學(xué)生有 3 門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號,姓名,三門課成績),
把這些數(shù)據(jù)存放在磁盤文件 "stud.txt "中。
二、解題思路
1、寫學(xué)生鍵盤輸入和成績鍵盤輸入,Scanner input1 = new Scanner(System.in);
2、把學(xué)生和成績拼接成字符串
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"]則表示在當(dāng)前項目文件夾里找到命名為[save]的文件夾,把文件新建在該文件夾內(nèi)
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)+"位同學(xué)的學(xué)號:");
id[i]=inputId.nextLine();
System.out.print("請輸入第"+(i+1)+"位同學(xué)的姓名:");
name[i]=inputName.nextLine();
for(j=i*3;j<i*3+3;j++)
{
System.out.print("請輸入第"+(i+1)+"位同學(xué)的第"+k+++"門成績:");
score[j]=inputScore.nextInt();
}
k=1;
}
for(i=0;i<5;i++)
{
str="學(xué)號"+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、寫學(xué)生鍵盤輸入和成績鍵盤輸入,Scanner input1 = new Scanner(System.in);
2、把學(xué)生和成績拼接成字符串
3、把字符串保存到硬盤文件 "stud.txt "中。
在上一個解法的基礎(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("請輸入第"+(i+1)+"位同學(xué)的學(xué)號:");
id[i]=inputId.nextLine();
System.out.print("請輸入第"+(i+1)+"位同學(xué)的姓名:");
name[i]=inputName.nextLine();
for(j=i*3;j<i*3+3;j++)
{
System.out.print("請輸入第"+(i+1)+"位同學(xué)的第"+k+++"門成績:");
score[j]=inputScore.nextInt();
}
k=1;
}
for(i=0;i<5;i++)
{
str="學(xué)號"+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 {
//不需要關(guān)閉文件流,源碼已經(jīng)有了
FileUtil.appendUtf8String(str,"D:\\stud2.txt");
}catch (IORuntimeException e){
//拋出一個運行時異常(直接停止掉程序)
throw new RuntimeException("運行時異常",e);
}
}
}
}

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

