[英]How do I manipulate and print a 2-D ArrayList?
我正在尝试通过GUI编写一个程序,该程序接受学生的名字和姓氏以及四个测试标记。 它应该能够输出学生的姓名和分数,以及计算个人和班级平均水平。
我创建了一个类Student和方法updateStudentInfo
public class Student {
public String firstName;
public String lastName;
public ArrayList<Integer> courseMarks;
public void updateStudentInfo(String first, String last, int test1, int test2, int test3, int test4) {
firstName = first;
lastName = last;
courseMarks = new ArrayList<Integer>();
courseMarks.add(test1);
courseMarks.add(test2);
courseMarks.add(test3);
courseMarks.add(test4);
}
然后是GUI:
public class StudentRecords extends javax.swing.JFrame {
public ArrayList<Student> studentList = new ArrayList<Student>();
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
Student s = new Student();
s.updateStudentInfo(txtInputFirstName.getText(), txtInputLastName.getText(), new Integer(txtTest1.getText()),
new Integer(txtTest2.getText()), new Integer(txtTest3.getText()), new Integer(txtTest4.getText()));
studentList.add(s);
}
我不完全理解将类用作数据类型的概念。 但是我的主要问题是,如何打印ArrayList并计算平均值?
提前致谢!
您可以从覆盖“学生”类中的toString()方法开始。 完成此操作后,无论何时打印Student类的对象,它都会以toString()中定义的有用方式将其打印出来。 如果您使用的是eclipse或intelliJ之类的IDE,它将为您生成一个toString()。 这是一个示例:
@Override
public String toString() {
return "Student [firstName=" + firstName + ", lastName=" + lastName
+ ", courseMarks=" + courseMarks + "]";
}
要计算平均值,可以添加如下方法:
float getAverage(){
float sum = 0;
for (int i: courseMarks){
sum +=i;
}
return sum/courseMarks.size();
}
并从您的GUI中以s.getAverage()进行调用,以获取学生“ s”的平均成绩。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.