1、编写一个程序:要求从idea控制台以提问对话的形式,输入三个同学的姓名、年龄、c语言成绩与java成绩,并将数据保存到一个“chengji.txt”的文件中. 提示: 创建一个Student学生类,其中域变量包括name,age,javaScore和cScore; 创建一个TestChengji类,在main主方法中创建一个学生对象数组, Student[] StudentInfo=new Student[3] 将控制台输入的数据保存在数组中,然后再将数组中的成绩到一个文件中。(写入对象PrintWriter或者使用对象流) 尽量使用带缓冲的数据流
时间: 2023-07-16 17:15:20 浏览: 99
IDEA2020.1启动SpringBoot项目出现java程序包:xxx不存在
以下是代码实现:
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Student {
private String name;
private int age;
private int javaScore;
private int cScore;
public Student(String name, int age, int javaScore, int cScore) {
this.name = name;
this.age = age;
this.javaScore = javaScore;
this.cScore = cScore;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getJavaScore() {
return javaScore;
}
public int getcScore() {
return cScore;
}
}
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 < 3; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的姓名:");
String name = scanner.nextLine();
System.out.println("请输入第" + (i + 1) + "个学生的年龄:");
int age = scanner.nextInt();
scanner.nextLine();
System.out.println("请输入第" + (i + 1) + "个学生的C语言成绩:");
int cScore = scanner.nextInt();
scanner.nextLine();
System.out.println("请输入第" + (i + 1) + "个学生的Java成绩:");
int javaScore = scanner.nextInt();
scanner.nextLine();
studentInfo[i] = new Student(name, age, javaScore, cScore);
}
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("chengji.txt")));
for (int i = 0; i < 3; i++) {
writer.println(studentInfo[i].getName() + " " + studentInfo[i].getAge() + " " + studentInfo[i].getcScore() + " " + studentInfo[i].getJavaScore());
}
writer.close();
System.out.println("成绩已保存到文件chengji.txt中");
} catch (IOException e) {
System.out.println("文件写入失败!");
}
}
}
```
代码说明:
1. 定义Student类,包含name、age、javaScore、cScore四个成员变量,以及构造方法和获取成员变量的方法。
2. 定义TestChengji类,主要功能为从控制台输入学生信息,并将学生信息写入文件中。
3. 在main方法中创建一个长度为3的Student对象数组studentInfo。
4. 使用for循环,从控制台输入每个学生的姓名、年龄、c语言成绩和java成绩,并将输入的信息保存到studentInfo数组中。
5. 使用PrintWriter对文件进行写入操作,将studentInfo数组中的信息逐行写入到文件chengji.txt中。
6. 在写入完成后,关闭PrintWriter流,并在控制台输出提示信息。
注意事项:
1. 在输入完整个学生信息后,需要调用`scanner.nextLine()`,以消耗掉输入缓冲区中的回车符。
2. 使用PrintWriter进行写入操作时,需要先创建一个BufferedWriter,并将它作为PrintWriter的参数,这样可以提高写入效率。
阅读全文