Java 如何将整数添加到我的arraylist?
我目前已经设置了代码,以便将学生的姓名和科目添加到我的arraylist中,然后在用户完成后打印。尽管我现在不想添加字符串,但我想添加一个学生编号,我不知道如何进行。我试着用add替换set,用int替换string,但没有成功 这是我的主要代码Java 如何将整数添加到我的arraylist?,java,Java,我目前已经设置了代码,以便将学生的姓名和科目添加到我的arraylist中,然后在用户完成后打印。尽管我现在不想添加字符串,但我想添加一个学生编号,我不知道如何进行。我试着用add替换set,用int替换string,但没有成功 这是我的主要代码 import java.util.*; public class StudentData { public static void main(String[] args) { Scanner in = new Sc
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());
}
}
}
当您在列表中存储
Student
对象时,您还存储了输入的每个对象的成员变量。因此,不需要采取不同的方法来存储整数
您可以声明您的private int studentNumber
在学生类中,为其添加一个getter和setter,然后修改构造函数,以便setStudentNumber(number)代码>的工作方式与设置两个字符串的工作方式相同
然后,要遍历列表,可以使用“增强的for”语法,而不是简单的旧for循环,这意味着:
for (Student s : studentList) {
System.out.println(s.getName());
System.out.println(s.getSubject());
System.out.println(s.getStudentNumber());
}
希望这有帮助,如果您还需要什么,请在下面给我留言。整数是什么意思?你能再详细说明一下吗?提前感谢看起来你的学生班级没有地方存储学生编号。什么是Number.add?看起来当你创建每个学生时,你实际上不需要显式调用s.setName(name)
和其他设置器,因为学生的构造函数会自动处理这个问题。我很好奇,是否需要有新的ArrayList,或者Integer类不是必需的?谢谢你的回答,但是如果我像List studentNumbers=new ArrayList()那样设置它代码>对于我也使用它的其他输入不是无效吗?即Strings@Bucco大多数IDE现在标记newArrayList()
作为一个冗余类型参数,因此它不是真正必要的。@user3050340我稍微误解了您的问题,那么您能澄清一下您希望在列表中存储什么吗?以前我有代码,所以它只存储学生姓名和科目,现在我想将学生编号添加到同一数组中,但是,所以我想在数组中存储一个数字。希望清楚,谢谢。
for (Student s : studentList) {
System.out.println(s.getName());
System.out.println(s.getSubject());
System.out.println(s.getStudentNumber());
}