编写一个程序:要求从idea控制台以提问对话的形式,输入三个同学的姓名、年龄、c语言成绩与java成绩,并将数据保存到一个“chengji.txt”的文件中. 提示: 创建一个Student学生类,其中域变量包括name,age,javaScore和cScore; 创建一个TestChengji类,在main主方法中创建一个学生对象数组, Student[] StudentInfo=new Student[3] 将控制台输入的数据保存在数组中,然后再将数组中的成绩到一个文件中。(写入对象PrintWriter或者使用对象流) 尽量使用带缓冲的数据流
时间: 2023-07-16 10:15:13 浏览: 118
新手入门,安装idea,初识Java.md
好的,这是一个Java程序,可以实现您的需求:
```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 scanner = new Scanner(System.in);
Student[] studentInfo = new Student[3];
for (int i = 0; i < studentInfo.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的信息:");
System.out.print("姓名:");
String name = scanner.next();
System.out.print("年龄:");
int age = scanner.nextInt();
System.out.print("C语言成绩:");
int cScore = scanner.nextInt();
System.out.print("Java成绩:");
int javaScore = scanner.nextInt();
studentInfo[i] = new Student(name, age, cScore, javaScore);
}
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());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Student {
private String name;
private int age;
private int cScore;
private int javaScore;
public Student(String name, int age, int cScore, int javaScore) {
this.name = name;
this.age = age;
this.cScore = cScore;
this.javaScore = javaScore;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getcScore() {
return cScore;
}
public int getJavaScore() {
return javaScore;
}
}
```
程序先创建一个名为`TestChengji`的类,其中包含了`main`方法。在`main`方法中,首先创建了一个`Scanner`对象,以便从控制台读取用户输入的信息。
然后,程序创建了一个名为`studentInfo`的`Student`对象数组,数组长度为3。在`for`循环中,程序依次从控制台读取每个学生的姓名、年龄、C语言成绩和Java成绩,并将这些信息保存到一个`Student`对象中。`Student`类是一个简单的POJO类,包含了4个域变量:`name`、`age`、`cScore`和`javaScore`,以及对应的getter方法。
最后,程序使用`PrintWriter`和`BufferedWriter`等带缓冲的数据流将学生信息写入到名为`chengji.txt`的文件中。在`try-with-resources`语句中使用这些数据流可以自动关闭它们,避免了手动关闭数据流时出现的一些问题。
阅读全文