Java 流练习:从csv文件读取学生成绩,计算综合成绩并输出到文件
package project005;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
class Student
{
private String id;
private String name;
private float PingShiScore;
private float ShiYanScore;
private float QiMoScore;
private Integer ZongHeScore;
public Student() {
super();
}
public Student(String id, String name, float PingShiScore, float ShiYanScore, float QiMoScore, int ZongHeScore)
{
super();
= id;
= name;
= PingShiScore;
= ShiYanScore;
= QiMoScore;
= ZongHeScore;
}
public String getId() {
return id;
}
public void setId(String id) {
= id;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public float getPingShiScore() {
return PingShiScore;
}
public void setPingShiScore(float PingShiScore) {
= PingShiScore;
}
public float getShiYanScore() {
return ShiYanScore;
}
public void setShiYanScore(float ShiYanScore) {
= ShiYanScore;
}
public float getQiMoScore() {
return QiMoScore;
}
public void setQiMoScore(float QiMoScore) {
= QiMoScore;
}
public int getZongHeScore() {
return ZongHeScore;
}
public void setZongHeScore(int ZongHeScore) {
= ZongHeScore;
}
@Override
public String toString() {
return "Student [, name=" + name
+ ", PingShiScore=" + PingShiScore
+ ", ShiYanScore=" + ShiYanScore
+ ", QiMoScore=" + QiMoScore
+ ", ZongHeScore=" + ZongHeScore + "]";
}
}
public class CalculateAndArrange
{
public static void main(String[] args)
{
File fname = new File("某课程成绩表.csv");
InputStreamReader fr = null;
BufferedReader br = null;
try {
fr = new InputStreamReader(new FileInputStream(fname));
br = new BufferedReader(fr);
String rec = null;
String[] argsArr = null;
String [][]s = new String[42][6];
int count = 0;
while ((rec = ()) != null) {
argsArr = (",");
for (int i = 0; i < ; i++)
{
s[count][i] = argsArr[i];
}
count++;
}
Student[] stu = new Student[50];
for(int i = 1; i < count; i++)
{
stu[i] = new Student();
stu[i].setId(s[i][0]);
stu[i].setName(s[i][1]);
stu[i].setPingShiScore((s[i][2]));
stu[i].setShiYanScore((s[i][3]));
stu[i].setQiMoScore((s[i][4]));
stu[i].setZongHeScore((int) (stu[i].getPingShiScore() * 0.2 + stu[i].getShiYanScore() * 0.3 + stu[i].getQiMoScore() * 0.5));
}
for(int i = 1; i < count; i++)
{
(stu[i]);
}
for(int i = 1; i < count; i++)
{
File f=new File(stu[i].getId() + stu[i].getName() + ".txt");
FileOutputStream fos = new FileOutputStream(f);
OutputStreamWriter dos = new OutputStreamWriter(fos);
("学号:" + stu[i].getId() + "\r\n");
("姓名:" + stu[i].getName() + "\r\n");
("平时成绩:" + (int) stu[i].getPingShiScore() + "\r\n");
("实验成绩:" + (int) stu[i].getShiYanScore() + "\r\n");
("期末成绩:" + (int) stu[i].getQiMoScore() + "\r\n");
("综合成绩:" + (int) stu[i].getZongHeScore() + "\r\n");
();
}
}
catch (IOException e)
{
();
}
finally
{
try
{
if (fr != null)
();
if (br != null)
();
}
catch (IOException ex)
{
();
}
}
}
}