[英]String ArrayList returning null values
我是java的新手,正在做一些arraylist工作,並且在編譯列表時僅返回空值而不是我輸入的名稱。
我不明白為什么會這樣,所以如果有人可以提供建議/幫助我,那將很棒。
提前致謝。
這是我的主要代碼
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();
Student s = new Student();
studentList.add(s);
String input;
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());
}
}
}
和
class Student
{
private String studentName;
public StudentData(String name)
{
setName(name);
}
public String getName()
{
return studentName;
}
public void setName(String name)
{
studentName = name;
}
}
您正在創建一個學生,但未設置名稱:
String name = in.next();
Student s = new Student();
studentList.add(s);
嘗試:
String name = in.next();
Student s = new Student();
s.setName(name);
studentList.add(s);
同時替換您的構造函數。 即:
public StudentData(String name){
setName(name);
}
應該
public Student(String name) {
setName(name);
}
然后,您將可以執行Student s = new Student(name);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.