学生姓名的读取与输出——Java令牌化的使用

//编写一个程序,读取学生的姓和名,然后再读取五个测验分数。该程序应输出学生的姓和名、五个测验分数以及平均测验分数。

输入:包含学生的姓、名和五个测验分数的文件
输出:学生的姓、名、和五个测验分数保存到文件中。

//读取输入行并将其令牌化
  获取学生的姓、名和五个测验分数
  输出学生的姓、名和五个测验分数
  计算平均测验分数
  输出平均测验分数(以固定小数格式(带有两位小数位))

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();			//关闭文件很重要
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章