//編寫一個程序,讀取學生的姓和名,然後再讀取五個測驗分數。該程序應輸出學生的姓和名、五個測驗分數以及平均測驗分數。
輸入:包含學生的姓、名和五個測驗分數的文件
輸出:學生的姓、名、和五個測驗分數保存到文件中。
//讀取輸入行並將其令牌化
獲取學生的姓、名和五個測驗分數
輸出學生的姓、名和五個測驗分數
計算平均測驗分數
輸出平均測驗分數(以固定小數格式(帶有兩位小數位))
import java.io.*;
import java.text.DecimalFormat;
import java.util.StringTokenizer;
// Program to calculate average test score
public class StudentGrade {
public static void main(String[] args) throws IOException{
//Declare and initialize variable
double test1,test2,test3,test4,test5;
double average;
String firstName;
String lastName;
StringTokenizer tokenizer;
BufferedReader inFile =new BufferedReader(new FileReader("a:\\test.txt"));//輸入文件路徑
PrintWriter outFile =new PrintWriter (new FileWriter ("a:test1.txt")); //輸出文件路徑
DecimalFormat twoDecimal=new DecimalFormat("0.00");
tokenizer=new StringTokenizer(inFile.readLine());
firstName =tokenizer.nextToken();
lastName=tokenizer.nextToken();
outFile.println("Student Name: "+firstName+" "+lastName);
//Step8 - Retrieve five test scores
test1=Double.parseDouble(tokenizer.nextToken());
test2=Double.parseDouble(tokenizer.nextToken());
test3=Double.parseDouble(tokenizer.nextToken());
test4=Double.parseDouble(tokenizer.nextToken());
test5=Double.parseDouble(tokenizer.nextToken());
outFile.println("Test scores: "+
twoDecimal.format(test1)+" "+twoDecimal.format(test2)+" "+
twoDecimal.format(test3)+" "+twoDecimal.format(test4)+" "+
twoDecimal.format(test5));
average=(test1+test2+test3+test4+test5)/5.0;
outFile.println("Average test score : "+twoDecimal.format(average));
outFile.close(); //關閉文件很重要
}
}
學生姓名的讀取與輸出——Java令牌化的使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.