优化一下,可以自己输入若干个学生信息
时间: 2024-03-22 10:37:33 浏览: 18
好的,以下是优化后的 Java 代码,可以让用户自己输入学生信息:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Student implements Serializable {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
// 从控制台输入学生信息
Scanner scanner = new Scanner(System.in);
List<Student> students = new ArrayList<>();
while (true) {
System.out.print("请输入学生姓名(输入exit结束):");
String name = scanner.next();
if ("exit".equals(name)) {
break;
}
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
students.add(new Student(name, age));
}
// 将学生对象写入文件
try {
FileOutputStream fos = new FileOutputStream("student.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
for (Student student : students) {
oos.writeObject(student);
}
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 从文件读出学生信息并展示在屏幕上
try {
FileInputStream fis = new FileInputStream("student.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
while (fis.available() > 0) {
Student stu = (Student) ois.readObject();
System.out.println("姓名:" + stu.getName() + ",年龄:" + stu.getAge());
}
ois.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
在这个优化后的代码中,我们使用 `Scanner` 类从控制台读入学生信息,并将学生对象添加到一个 `List` 中。接下来,我们将学生对象写入到文件中,然后从文件中读出学生信息,并展示在屏幕上。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)