Java 通过使用arraylist添加元素创建接口

Java 通过使用arraylist添加元素创建接口,java,Java,使用arraylist在集合中添加一组元素时遇到了一个问题。我有一个班的学生有3个变量。还有一个包含添加、删除和获取学生的界面,但在我的测试中,我无法显示不同的结果 String studId = ""; String firstName = ""; String lastName = ""; int number = 0; int index = 0; StudentServiceImpl studServImpl = new StudentServiceImpl(); Scanner sca

使用arraylist在集合中添加一组元素时遇到了一个问题。我有一个班的学生有3个变量。还有一个包含添加、删除和获取学生的界面,但在我的测试中,我无法显示不同的结果

String studId = "";
String firstName = "";
String lastName = "";
int number = 0;
int index = 0;
StudentServiceImpl studServImpl = new StudentServiceImpl();
Scanner scan = new Scanner(System.in);
Student student = new Student();
    do {
        System.out.println("1.Add Student:");
        System.out.println("2.Delete Student:");
        System.out.println("3.Display Students:");
        System.out.println("4.Exit");
        System.out.println();
        System.out.print("Select number: ");
        System.out.println();
        number = scan.nextInt();
        if (number == 1) {
            System.out.println("Enter Student No.");
            studId = scan.next();
            student.setStudId(studId);
            System.out.println("Enter First Name:");
            firstName = scan.next();
            student.setFirstName(firstName);
            System.out.println("Enter Last Name:");
            lastName = scan.next();
            student.setLastName(lastName);
            studServImpl.add(student);
        } else if (number == 2) {
            // TODO:
        } else if (number == 3) {
            List<Student> studentList = new ArrayList<Student>();
            studentList = studServImpl.getStudent();
            System.out.println("\nThe size of List: " + studentList.size());
            for (Student studentRec : studentList) {
                System.out.println("Student ID: " + studentRec.getStudId());
                System.out.println("First Name: " + studentRec.getFirstName());
                System.out.println("Last Name: " + studentRec.getFirstName() + "\n");
            }
        } else if (number == 4) {
            System.out.println("Thank you, Good Bye!");
        }
    } while (number != 0);

救命

您在循环外部实例化了
student
,并使用菜单项
1
多次添加它

应该在循环内移动实例化…

String studId=“”;
String studId = "";
String firstName ="";
String lastName ="";
int number =0;
int index = 0;
StudentServiceImpl studServImpl = new StudentServiceImpl();
Scanner scan = new Scanner(System.in);

do{

System.out.println("1.Add Student:");
System.out.println("2.Delete Student:");
System.out.println("3.Display Students:");
System.out.println("4.Exit");
System.out.println();
System.out.print("Select number: ");
System.out.println();
number=scan.nextInt();

if(number==1){
    Student student =  new Student();
    System.out.println("Enter Student No.");
    studId = scan.next();
    student.setStudId(studId);

    System.out.println("Enter First Name:");
    firstName = scan.next();
    student.setFirstName(firstName);

    System.out.println("Enter Last Name:");
    lastName = scan.next();
    student.setLastName(lastName);

    studServImpl.add(student);

}


    else if(number ==2){



    }

    else if (number == 3){

    List<Student> studentList = new ArrayList<Student>();

    studentList = studServImpl.getStudent();

    System.out.println("\nThe size of List: "+studentList.size());



    for (Student studentRec : studentList) {
        System.out.println("Student ID: "+ studentRec.getStudId());
        System.out.println("First Name: "+ studentRec.getFirstName());
        System.out.println("Last Name: "+ studentRec.getLastName()+"\n");


    }

    }

    else if(number == 4){

        System.out.println("Thank you, Good Bye!");
    }



    }


    while(number!=0);

}
字符串firstName=“”; 字符串lastName=“”; 整数=0; int指数=0; studentserviceinpl studservinpl=新的studentserviceinpl(); 扫描仪扫描=新扫描仪(System.in); 做{ System.out.println(“1.Add Student:”); System.out.println(“2.Delete Student:”); System.out.println(“3.Display Students:”); System.out.println(“4.Exit”); System.out.println(); 系统输出打印(“选择编号:”); System.out.println(); number=scan.nextInt(); 如果(数字==1){ 学生=新生(); System.out.println(“输入学号”); studId=scan.next(); student.setStudId(studId); System.out.println(“输入名字:”); firstName=scan.next(); student.setFirstName(firstName); System.out.println(“输入姓氏:”); lastName=scan.next(); student.setLastName(lastName); studServImpl.add(学生); } else if(数字=2){ } else if(数字=3){ List studentList=new ArrayList(); studentList=studservinpl.getStudent(); System.out.println(“\n列表大小:”+studentList.size()); 用于(学生中心:学生名单){ System.out.println(“学生ID:+studentRec.getStudId()); System.out.println(“名字:+studentRec.getFirstName()); System.out.println(“姓氏:“+studentRec.getLastName()+”\n”); } } else if(数字=4){ System.out.println(“谢谢你,再见!”); } } while(number!=0); }

您的代码可能是这样的,请注意,我所做的唯一更改是将student对象设置为输入块内的局部变量。

能否格式化代码……您的代码是否编译?您正在调用student.setFirstName,但student是一个数组。欢迎使用堆栈溢出!寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参见:如何创建。使用“编辑”链接改进您的问题-不要通过评论添加更多信息。谢谢你想让我们花时间帮你做作业。因此,请您花5分钟的时间来编写一个正确的、缩进正确的代码,而不是给我们带来这样的麻烦!我没有看到索引的增加。。。
String studId = "";
String firstName ="";
String lastName ="";
int number =0;
int index = 0;
StudentServiceImpl studServImpl = new StudentServiceImpl();
Scanner scan = new Scanner(System.in);

do{

System.out.println("1.Add Student:");
System.out.println("2.Delete Student:");
System.out.println("3.Display Students:");
System.out.println("4.Exit");
System.out.println();
System.out.print("Select number: ");
System.out.println();
number=scan.nextInt();

if(number==1){
    Student student =  new Student();
    System.out.println("Enter Student No.");
    studId = scan.next();
    student.setStudId(studId);

    System.out.println("Enter First Name:");
    firstName = scan.next();
    student.setFirstName(firstName);

    System.out.println("Enter Last Name:");
    lastName = scan.next();
    student.setLastName(lastName);

    studServImpl.add(student);

}


    else if(number ==2){



    }

    else if (number == 3){

    List<Student> studentList = new ArrayList<Student>();

    studentList = studServImpl.getStudent();

    System.out.println("\nThe size of List: "+studentList.size());



    for (Student studentRec : studentList) {
        System.out.println("Student ID: "+ studentRec.getStudId());
        System.out.println("First Name: "+ studentRec.getFirstName());
        System.out.println("Last Name: "+ studentRec.getLastName()+"\n");


    }

    }

    else if(number == 4){

        System.out.println("Thank you, Good Bye!");
    }



    }


    while(number!=0);

}