[英]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.