gpt4 book ai didi

java - 如何将数组列表打印到 JTextArea?

转载 作者:行者123 更新时间:2023-12-02 11:32:57 24 4
gpt4 key购买 nike

我似乎不知道如何打印 arrayList<String>到 JTextArea 并尝试使用 append()setText() 。我还尝试创建一个通过循环打印出 ArrayList 的方法,但无法将其添加到 JTextArea,因为它不是 String 类型。

申请人应该获取学生资料(姓名、年级、大学选择)并将其添加到 ArrayList<String>申请人。如果以下 if 语句成立,则通过 JButton 完成此操作:

if (studentsAverage > 74 && validInput && studentsAverage < 100) {

studentChoices.addAll(uniOptions.getSelectedValuesList());
person = new Student (namePromptTF.getText(), averagePromptTF.getText(),Applicants, studentChoices);
arrayCount++;
numberOfApplicants.setText(arrayCount +"/" +100+"students");

person.printProfile(); //dont need
person.studentProfileSort(); // dont need


displayAllApplicants.append(person.returnProfile());

Applicants.add(person);

该数组被传递给一个包含以下内容的 Student 对象:

private ArrayList<Student> ApplicantArray;

然后通过此方法对ApplicantArray进行排序:

void studentProfileSort() {
Student profileLine = null;

int numberOfStudents = ApplicantArray.size();
ArrayList<Student> displayAllSorted = new ArrayList<Student>();

for(int i = 1; i<numberOfStudents - 1; i++){
for(int j = 0; j<(numberOfStudents - i); j++) {

if(ApplicantArray.get(i).getFamilyName().compareTo(ApplicantArray.get(i).getFamilyName())>0){
ApplicantArray.set(j, ApplicantArray.get(i));
}
}

ApplicantArray.get(i).returnProfile();
}
}

有没有办法在循环内添加 return 语句,以便我可以将方法更改为 String 类型?

最佳答案

起初你的排序算法似乎不起作用

ApplicantArray.get(i).getFamilyName().compareTo(ApplicantArray.get(i).getFamilyName())

您将值与其自身进行比较,结果始终为 0。即使这可行,在下一行中您也可以通过设置一个值来覆盖该数组,而不是交换两个值或设置为新的 ArrayList。

但是如果一切正常,您可以通过以下方式打印这些学生:

StringBuilder b = new StringBuilder();
for (Student student : applicantArray) {
b.append(student + "\n"); // this if you implemented toString() in Student
b.append(student.getFamilyName() + ' ' + student.getFirstName() + "\n"); // or something like this
}
textArea.setText(b.toString());

P.S.:您不应该对变量或参数使用 UpperCamelCase,而应使用 lowerCamelCase(例如 ApplicantArray ->applicantArray)

关于java - 如何将数组列表打印到 JTextArea?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49152753/

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