gpt4 book ai didi

java - 字符串ArrayList返回空值

转载 作者:行者123 更新时间:2023-12-01 18:40:00 24 4
gpt4 key购买 nike

我是java新手,正在做一些数组列表工作,在编译我的列表时,只返回空值而不是我输入的名称。

我不明白为什么会这样,所以如果有人可以建议/帮助我那就太好了。

这是我的主要代码

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);

关于java - 字符串ArrayList返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com