我有两节课。目前,您可以将99个条目保存到.txt文件中。显然我想扩展这个。如果ExamGradesGUI中的以下内容是arraylist而不是数组,那将是很好的:
String[] firstName = new String[99];
String[] lastName = new String[99];
String[] subjectUnit = new String[99];
double[] examMark = new double[99];
我设法从下面声明数组开始(对于firstName):
ArrayList<String> firstName = new ArrayList<String>();
然后,我不知道如何使用我的get和set方法,因为显然它们仍然是数组形式。如果有人可以提供帮助,我会很感激。感谢
答案 0 :(得分:1)
也许应该有更多的OOP:
List<Student> students = new ArrayList<Student>();
Class Student{
private String firstName;
private String lastName;
private String subjectUnit;
private double examMark ;
// Generate getters and setters and constructor
}
// So the code to create a new Student in getText():
Student newStudent = new Student (
firstNameTxt.getText() ,
lastNameTxt.getText(),
subjectUnitTxt.getItemAt(subjectUnitTxt.getSelectedIndex()),
Double.parseDouble(examMarkTxt.getText()) );
// add the newStudent to the list
students.add( newStudent );
答案 1 :(得分:0)
有一种方法List#add(int index,E element)
void add(int index,
E element)
将指定元素插入此列表中的指定位置 (可选操作)。移动当前位于该位置的元素 (如果有的话)和右边的任何后续元素(在他们的 指数)。
使用此方法可以替换
firstName[i] = firstNameTxt.getText();
这个用
firstName.add(i,firstNameTxt.getText());
<强>更新强>
你可以替换
public void addRecords(String[] first, String[] last, String[] subject, double[] mark)
带
public void addRecords(List<String> first,List<String> last, List<String> subject,List<double> mark) {
this.firstNameList=first;
this.lastNameList=last;
this.subjectList=subject;
this.marksList=mark;
}