这个array.add(s)哪里有错误啊?每次用这个array.add()方法就会报错,可是不知道错误出现在哪里?
这个s从哪里来的呢?
函数开始增加一个Student s;
然后输入的数据可以直接设置给学生数据结构,比如
s.sid = sc.nextLine();
最后array.add(s);
另外你四个提示信息全是“请输出学生的学号",显然复制后没有修改啊
你需要创建一个学生对象,然后将学生对象添加集合中。
代码修改如下:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("---------欢迎来到学生管理系统---------");
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看所有学生");
System.out.println("5 退出");
System.out.println("请输入你的选择:");
Scanner sc = new Scanner(System.in);
int line = sc.nextInt();
switch (line) {
case 1:
System.out.println("添加学生");
case 2:
System.out.println("删除学生");
case 3:
System.out.println("修改学生");
case 4:
System.out.println("查看所有学生");
case 5:
System.out.println("谢谢使用");
return;
}
}
public static void addStudent(ArrayList<Student> array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid=sc.next();
System.out.println("请输入学生姓名:");
String name=sc.next();
System.out.println("请输入学生年龄:");
int age= sc.nextInt();
System.out.println("请输入学生地址:");
String address= sc.next();
Student s=new Student(sid,name,age,address);
array.add(s);
System.out.println("添加学生成功");
}
}
class Student{
private String sid;
private String name;
private int age;
private String address;
public Student(){}
public Student(String sid, String name, int age, String address) {
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
}
package StudentDemo;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Student> array=new ArrayList<Student>();
System.out.println("---------欢迎来到学生管理系统---------");
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看所有学生");
System.out.println("5 退出");
System.out.println("请输入你的选择:");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
switch (line) {
case "1":
System.out.println("添加学生");
addStudent(array);
case "2":
System.out.println("删除学生");
case "3":
System.out.println("修改学生");
case "4":
System.out.println("查看所有学生");
case "5":
System.out.println("谢谢使用");
return;
}
}
public static void addStudent(ArrayList<Student>array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid=sc.nextLine();
System.out.println("请输入学生学号:");
String name=sc.nextLine();
System.out.println("请输入学生学号:");
String age= sc.nextLine();
System.out.println("请输入学生学号:");
String affress= sc.nextLine();
Student s=new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAffress(affress);
array.add(s);
System.out.println("添加学生成功");
}
}