1、编写一个程序:要求从idea控制台以提问对话的形式,输入三个同学的姓名、年龄、c语言成绩与java成绩,并将数据保存到一个“chengji.txt”的文件中. 提示: 创建一个Student学生类,其中域变量包括name,age,javaScore和cScore; 创建一个TestChengji类,在main主方法中创建一个学生对象数组, Student[] StudentInfo=new Student[3] 将控制台输入的数据保存在数组中,然后再将数组中的成绩到一个文件中。(写入对象PrintWriter或者使用对象流) 尽量使用带缓冲的数据流
时间: 2023-07-16 22:15:58 浏览: 51
好的,我来为您编写这个程序。
首先,我们需要创建一个Student学生类,包括name、age、javaScore和cScore四个域变量:
```java
public class Student {
String name;
int age;
double javaScore;
double cScore;
public Student(String name, int age, double javaScore, double cScore) {
this.name = name;
this.age = age;
this.javaScore = javaScore;
this.cScore = cScore;
}
}
```
然后,我们创建一个TestChengji类,在main方法中创建一个学生对象数组,Student[] StudentInfo=new Student[3],并从控制台输入三个同学的姓名、年龄、c语言成绩与java成绩:
```java
import java.io.*;
public class TestChengji {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Student[] studentInfo = new Student[3];
for (int i = 0; i < studentInfo.length; i++) {
try {
System.out.println("请输入第" + (i + 1) + "个同学的姓名:");
String name = reader.readLine();
System.out.println("请输入第" + (i + 1) + "个同学的年龄:");
int age = Integer.parseInt(reader.readLine());
System.out.println("请输入第" + (i + 1) + "个同学的C语言成绩:");
double cScore = Double.parseDouble(reader.readLine());
System.out.println("请输入第" + (i + 1) + "个同学的Java成绩:");
double javaScore = Double.parseDouble(reader.readLine());
studentInfo[i] = new Student(name, age, javaScore, cScore);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
接着,我们将数组中的成绩写入到一个文件中。这里使用带缓冲的PrintWriter来实现:
```java
import java.io.*;
public class TestChengji {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Student[] studentInfo = new Student[3];
for (int i = 0; i < studentInfo.length; i++) {
try {
System.out.println("请输入第" + (i + 1) + "个同学的姓名:");
String name = reader.readLine();
System.out.println("请输入第" + (i + 1) + "个同学的年龄:");
int age = Integer.parseInt(reader.readLine());
System.out.println("请输入第" + (i + 1) + "个同学的C语言成绩:");
double cScore = Double.parseDouble(reader.readLine());
System.out.println("请输入第" + (i + 1) + "个同学的Java成绩:");
double javaScore = Double.parseDouble(reader.readLine());
studentInfo[i] = new Student(name, age, javaScore, cScore);
} catch (IOException e) {
e.printStackTrace();
}
}
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("chengji.txt")));
for (Student student : studentInfo) {
writer.println(student.name + "," + student.age + "," + student.javaScore + "," + student.cScore);
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
最后,我们在文件中查看数据是否正确:
```txt
小明,20,89.5,78.5
小红,21,90.0,85.0
小刚,19,87.0,80.0
```
完整代码如下: