将递增的int赋值给arraylist中的元素,Java

将递增的int赋值给arraylist中的元素,Java,java,arraylist,Java,Arraylist,所以我对Java还是相当陌生的,而且我已经有一段时间没有用Java编程了。我想知道的是如何给数组列表中的一个元素分配一个整数,比如一个学生编号。我的arraylist中有三个元素,每个元素都必须有一个7位的学生编号,第7位是顺序中的下一个数字(例如,学生编号为1234567的el 1,学生编号为1234568的el 2,学生编号为1234569的el 3)。我不确定我是否在正确的轨道上。这段代码是一个正在进行的工作,我还有很多东西需要添加或修复。我的arraylist位于下一个名为Student

所以我对Java还是相当陌生的,而且我已经有一段时间没有用Java编程了。我想知道的是如何给数组列表中的一个元素分配一个整数,比如一个学生编号。我的arraylist中有三个元素,每个元素都必须有一个7位的学生编号,第7位是顺序中的下一个数字(例如,学生编号为1234567的el 1,学生编号为1234568的el 2,学生编号为1234569的el 3)。我不确定我是否在正确的轨道上。这段代码是一个正在进行的工作,我还有很多东西需要添加或修复。我的arraylist位于下一个名为StudentApp的代码块中

public class Student    {

    //fields
    private String firstName;
    private String lastName;
    private int sNumber;
    private String major;
    private double gpa;

    private static int count()  {
        int count = 1234567;
        for (int i = 1; i <= count; i++)    {
            System.out.print(count);
        }
        return count;
    }

    //constructors
    public Student()    {
        firstName = null;
        lastName = null;
        sNumber = 1234567;
        major = null;
        gpa = 0.0;

    }

    public Student(String fName, String lName, int sNumber, String maj, double gpa) {
        firstName = fName;
        lastName = lName;
        sNumber = sNumber;
        major = maj;
        gpa = gpa; 
    }

    //methods

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public int getsNumber() {
        for(int sNumber = 0; sNumber >= 7; sNumber++)   {
            int sNumber = 1234567;
            sNumber++ 
        }
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public double getGpa() {
        return gpa;
    }

    public void setGpa(double gpa) {
        this.gpa = gpa;
    }

    @Override
    public String toString() {
        return "S" + sNumber + " " + firstName + " "+ lastName + " " + "(" + major +")" + " " + "gpa:" + gpa;
    }
}

import java.util.Scanner;
import java.util.ArrayList;

public class StudentApp {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        ArrayList<Student> names = new ArrayList<Student> ();

        Student student1 = new Student();
        student1.setFirstName("Brian");
        student1.setLastName("Scholl");
        student1.setMajor("CS");
        student1.setGpa(3.5);

        Student student2 = new Student();
        student2.setFirstName("Emily");
        student2.setLastName("Davies");
        student2.setMajor("ME");
        student2.setGpa(3.7);

        Student student3 = new Student();
        student3.setFirstName("Sarah");
        student3.setLastName("Dixon");
        student3.setMajor("EE");
        student3.setGpa(3.8);

        names.add(student1);
        names.add(student2);
        names.add(student3);

        int choice;
        do{
            displayMenu();
            choice = input.nextInt();
            switch(choice)  {
            case 1:
                Student student4 = new Student();

                System.out.print("First name: ");
                String fName1 = input.nextLine();
                System.out.println();
                System.out.print("Last name: ");
                String lName1 = input.nextLine();
                System.out.println();

                System.out.print("Major: ");
                String major1 = input.nextLine();
                System.out.println();
                System.out.print("GPA: ");
                double gpa1 = input.nextDouble();

                student4.setFirstName(fName1);
                student4.setLastName(lName1);
                student4.setMajor(major1);
                student4.setGpa(gpa1);
                names.add(student4);
                break;
            case 2:

                System.out.print("Find student with sNumber S");
                input.nextInt();
                student1.getsNumber();
                //statement on finding a student
                break;
            case 3:
                //statement on deleting a student
                break;
            case 4:
                System.out.println(student1);
                System.out.println(student2);
                System.out.println(student3);
                break;
            case 5:
                names.size();
                break;
            case 6:
                System.out.println("Good bye");
                break;
            default:
                System.out.println("Invalid Selection");
                System.out.println();
                break;
            }
            System.out.println();
        }while(choice != 0 );


    }

    public static void displayMenu()    {
        System.out.println("1. Add a student");
        System.out.println("2. Find a student");
        System.out.println("3. Delete a student");
        System.out.println("4. Display all students");
        System.out.println("5. Display the total number of students");
        System.out.println("6. Exit");
    }

}
公共班级学生{
//田地
私有字符串名;
私有字符串lastName;
私人内部成员;
私人弦专业;
私人双gpa;
私有静态整数计数(){
整数计数=1234567;
for(int i=1;i=7;sNumber++){
int sNumber=1234567;
sNumber++
}
}
公共字符串getLastName(){
返回姓氏;
}
public void setLastName(字符串lastName){
this.lastName=lastName;
}
公共字符串getMajor(){
返回专业;
}
公共void设置主键(字符串主键){
this.major=major;
}
公共双getGpa(){
返回gpa;
}
公共无效设置gpa(双gpa){
this.gpa=gpa;
}
@凌驾
公共字符串toString(){
返回“S”+sNumber+“”+firstName+“”+lastName+“”+“””(“+major+”)+“”+“”+gpa:“+gpa;
}
}
导入java.util.Scanner;
导入java.util.ArrayList;
公共班级学生pp{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
ArrayList name=新的ArrayList();
学生1=新学生();
学生1.setFirstName(“Brian”);
学生1.学校名称(“学校”);
学生1.SETMARY(“CS”);
学生1.setGpa(3.5);
学生2=新学生();
学生2.setFirstName(“Emily”);
学生2.setLastName(“戴维斯”);
学生2.设置专业(“我”);
学生2.setGpa(3.7);
学生3=新学生();
学生3.setFirstName(“莎拉”);
学生3.setLastName(“迪克森”);
学生3.SETMARY(“EE”);
学生3.setGpa(3.8);
姓名。添加(学生1);
姓名。添加(学生2);
姓名。添加(学生3);
智力选择;
做{
显示菜单();
choice=input.nextInt();
开关(选择){
案例1:
学生4=新学生();
系统输出打印(“名字:”);
字符串fName1=input.nextLine();
System.out.println();
系统输出打印(“姓氏:”);
字符串lName1=input.nextLine();
System.out.println();
系统输出打印(“主要:”);
String major1=input.nextLine();
System.out.println();
系统输出打印(“GPA:”);
double gpa1=input.nextDouble();
学生4.setFirstName(fName1);
学生4.setLastName(lName1);
学生4.设置专业(专业1);
学生4.setGpa(gpa1);
姓名。添加(学生4);
打破
案例2:
System.out.print(“查找带有sNumber S的学生”);
input.nextInt();
student1.getsNumber();
//关于寻找学生的声明
打破
案例3:
//关于删除学生的声明
打破
案例4:
系统输出打印LN(学生1);
系统输出打印LN(学生2);
系统输出打印(学生3);
打破
案例5:
name.size();
打破
案例6:
System.out.println(“再见”);
打破
违约:
System.out.println(“无效选择”);
System.out.println();
打破
}
System.out.println();
}while(选项!=0);
}
公共静态无效显示菜单(){
System.out.println(“1.添加学生”);
System.out.println(“2.查找学生”);
System.out.println(“3.删除学生”);
System.out.println(“4.显示所有学生”);
System.out.println(“5.显示学生总数”);
System.out.println(“6.Exit”);
}
}

没有理由试着用你现在的方式来做这件事。假设你可以简单地定义一个初始学生编号;根据你的代码,我假设这是
int studentNumber=1234567

现在,当您将一个学生添加到列表中时,不要忽略添加该数字或使用相同的数字初始化所有学生;那只会使事情变得过于复杂

假设您现在有一个编号,从用户处获取其他信息,并添加一个新的
学生
,其中包含这些值加上您为其分配的学生编号。例如:

names.add(新学生(名字、姓氏、学号++、专业、gpa))

此外,您还有许多其他问题,我在这里不讨论,但要提醒您

  • 计数不应来自学生实例
  • 获取学号时,只需给出学号即可(现在您已经算出了)
  • 当您将构造函数参数命名为与实例变量相同时,请小心;你需要以某种方式区分它们
  • 您不能硬编码所有学生的输出;他们可以增加更多
  • 将静态属性(studentNumberSequence)添加到具有初始化值(例如1234567)的Student类中,并在构造函数中增加其值。你可以放t
    sNumber = studentNumberSequence++;