繁体   English   中英

如何在我的arraylist中添加一个整数?

[英]How to add an integer to my arraylist?

我目前设置了代码,因此学生的姓名和主题被添加到我的arraylist中,然后在用户完成后打印。 但是,由于我现在不想添加字符串,我想添加一个学号,我不熟悉如何解决这个问题。 我试过用add替换set,用int替换string,但是没有占上风。

这是我的主要代码

import java.util.*;

public class StudentData 
{
    public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        ArrayList<Student> studentList = new ArrayList<Student>();
        String yesNo = "true";
        do
        {
            System.out.println("Enter student's name: ");
            String name = in.next();
            System.out.println("Enter student's subject: ");
            String subject = in.next();
            System.out.println("Enter student's number: "); 
            int number = in.nextInt();
            Student s = new Student(name,subject,number);   
            s.setName(name);
            s.setSubject(subject);
            s.Number.add(number);
            studentList.add(s);


            do
            {   
                System.out.println("Would you like to enter data for another student? Yes/No ");
                yesNo = in.next();
                }
            while (!yesNo.equalsIgnoreCase("YES") && !yesNo.equalsIgnoreCase("NO"));
            }   
        while (yesNo.equalsIgnoreCase("YES"));


        for(int i = 0; i < studentList.size(); i++)
        {
            System.out.println(studentList.get(i).getName());
            System.out.println(studentList.get(i).getSubject());
            }
        }
    }

class Student 
{
    private String studentName;
    private String studentSubject;
    public Student(String name, String subject, int number )
    {
        setName(name);
        setSubject(subject);
        Number.add(number);
        }
    public String getName()
    {
        return studentName;
        }
    public void setName(String name)
    {
        studentName = name;
        }
    public String getSubject()
    {
        return studentSubject;
        }
    public void setSubject(String subject)
    {
        studentSubject = subject;
    }
    public int getNumber()
    {
        return studentNumber; 
        }
    public void Number.add(int number)
    {
        studentNumber = number;
    }
}

当您在列表中存储Student对象时,您还会在输入时存储每个对象的成员变量。 因此,不需要采用不同的方法来存储整数。

你可以声明你的private int studentNumber; 在你的学生班中,为它添加一个getter和setter,然后修改你的构造函数,以便setStudentNumber(number); 可以像设置两个字符串一样工作。

然后,为了遍历您的列表,您可以使用'enhanced-for'语法而不是普通的旧for循环,这意味着:

for (Student s : studentList) {
    System.out.println(s.getName());
    System.out.println(s.getSubject());
    System.out.println(s.getStudentNumber());
}

希望这有帮助,如果你需要更多的东西,请在下面给我一个喊叫。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM