public static void main(String[] args) { ArrayList<Student> list=new ArrayList<>(); Scanner s=new Scanner(System.in); for(int i=0;i<3;i++) { Student r=new Student(); System.out.println("学生姓名:"); String name=s.next(); System.out.println("学生年龄:"); int age=s.nextInt(); r.setName(name); r.setAge(age); list.add(r); } for(int i=0;i<list.size();i++) { Student o=list.get(i); System.out.println(o.getName()+o.getAge()); } } } 这段代码的问题
时间: 2024-04-12 07:29:52 浏览: 94
Java基础语法07(Scanner类、Random类、ArrayList 类)
这段代码的问题在于,它只能输入和输出三个学生的信息。如果你想要输入更多的学生信息,你需要修改循环的次数。另外,它没有对输入的数据进行任何验证,比如学生的姓名和年龄是否符合要求。以下是修复后的代码示例:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
Scanner s = new Scanner(System.in);
System.out.println("请输入学生数量:");
int count = s.nextInt();
for (int i = 0; i < count; i++) {
Student r = new Student();
System.out.println("学生姓名:");
String name = s.next();
System.out.println("学生年龄:");
int age = s.nextInt();
r.setName(name);
r.setAge(age);
list.add(r);
}
for (Student student : list) {
System.out.println(student.getName() + " " + student.getAge());
}
}
}
```
这样,你就可以根据输入的学生数量来动态地输入学生信息,并且在输出时可以展示所有学生的姓名和年龄。
阅读全文