编写一个程序:要求从DOS控制台以提问对话的形式,输入三个同学的姓名、年龄、c语言成绩与java成绩,并将成绩保存到一个“chengji.txt”的文件中. 提示: 创建一个Student学生类,其中域变量包括name,age,javaScore和cScore; 创建一个TestChengji类,在main主方法中创建一个学生对象数组, Student[] StudentInfo=new Student[3] 将控制台输入的数据保存在数组中,然后再将数组中的成绩到一个文件中。(写入对象PrintWriter或者使用对象流) 尽量使用带缓冲的数据流
时间: 2023-07-16 18:16:29 浏览: 109
下面是代码实现:
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class TestChengji {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Student[] studentInfo = new Student[3];
for (int i = 0; i < studentInfo.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的姓名、年龄、C语言成绩和Java成绩:");
String name = input.next();
int age = input.nextInt();
double cScore = input.nextDouble();
double javaScore = input.nextDouble();
studentInfo[i] = new Student(name, age, cScore, javaScore);
}
input.close();
try (PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("chengji.txt")))) {
for (Student student : studentInfo) {
writer.println(student.getName() + " " + student.getAge() + " " + student.getcScore() + " " + student.getJavaScore());
}
System.out.println("成绩文件已保存到chengji.txt中。");
} catch (IOException e) {
System.out.println("保存成绩文件时出现错误:" + e.getMessage());
}
}
}
class Student {
private String name;
private int age;
private double cScore;
private double javaScore;
public Student(String name, int age, double cScore, double javaScore) {
this.name = name;
this.age = age;
this.cScore = cScore;
this.javaScore = javaScore;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getcScore() {
return cScore;
}
public double getJavaScore() {
return javaScore;
}
}
```
程序运行时,会提示输入三个学生的姓名、年龄、C语言成绩和Java成绩,依次输入后,程序将会将成绩保存到`chengji.txt`文件中。在保存完成后,程序会输出“成绩文件已保存到chengji.txt中。”的提示。注意,如果在保存文件时出现错误,程序会输出错误信息。
阅读全文