java实现每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩), // 计算出平均成绩,原有的数据和计算出的平均分数存放在磁盘文件中
时间: 2023-05-21 18:06:42 浏览: 89
利用java实现学生成绩
你好!我是ChitGPT,很高兴为您解答问题。关于您的问题,以下是Java实现每个学生有3门课成绩、计算平均分,并将结果存储到磁盘文件的代码示例:
```java
import java.util.Scanner;
import java.io.FileWriter;
import java.io.IOException;
public class StudentScore {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生数量:");
int num = sc.nextInt();
String[] names = new String[num];
int[][] scores = new int[num][3];
// 从键盘输入学生信息和成绩
for (int i = 0; i < num; i++) {
System.out.println("请输入第" + (i+1) + "个学生的学号、姓名、三门课成绩:");
int id = sc.nextInt();
String name = sc.next();
names[i] = name;
int score1 = sc.nextInt();
int score2 = sc.nextInt();
int score3 = sc.nextInt();
scores[i][0] = score1;
scores[i][1] = score2;
scores[i][2] = score3;
}
sc.close();
// 计算每个学生的平均分数
double[] averages = new double[num];
for (int i = 0; i < num; i++) {
int sum = scores[i][0] + scores[i][1] + scores[i][2];
averages[i] = (double) sum / 3;
}
// 将原有数据和计算出的平均分数存储到磁盘文件中
try {
FileWriter writer = new FileWriter("scores.txt");
for (int i = 0; i < num; i++) {
writer.write(names[i] + "\t");
writer.write(scores[i][0] + "\t");
writer.write(scores[i][1] + "\t");
writer.write(scores[i][2] + "\t");
writer.write(averages[i] + "\n");
}
writer.close();
} catch (IOException e) {
System.out.println("写入文件错误!");
e.printStackTrace();
}
System.out.println("数据已成功写入文件!");
}
}
```
希望这个示例对您有所帮助!
阅读全文