java 2d ArrayList并在特定索引中拉取第二个元素

dced5bon  于 2023-10-14  发布在  Java
关注(0)|答案(1)|浏览(98)

我不知道我想做的事是否可行。我已经创建了一个2d arrayList(它可以是列表中的一个列表),我需要拉取列表中的第二个元素,然后将它们添加到一起。
希望我有所有需要帮助的代码。我是个新手,这是我任务的最后一部分,我就是想不明白。

//member variable/arrays
public static ArrayList<ArrayList<Integer>> courseGrade = new ArrayList<>();
    public static ArrayList<ArrayList<Integer>> courseGradeTotal = new ArrayList<>();
    private int countCourseEnrollment = 0;
    private int takeCode;
    private static int totalGrade1 = 0;
    private static int grade1 = 0

//method to calculate course average
public static void calculateOverallGrade() {
        Course.listCourses();

        System.out.println(" ");
        System.out.print("Enter the course code to get course average:");
        String takeCode1 = Main.scan.next();

        System.out.println("Current students in course: " + takeCode1);

        for (ArrayList<Object> currentStudent : courseEnrollment) {
            if (currentStudent.contains(takeCode1)) {
                System.out.println(currentStudent);
                int index = currentStudent.indexOf(takeCode1);
                System.out.println(index);
                for (ArrayList<Integer> currentGrade : courseGrade) {
                    int intGrade1 = currentGrade.get(index).get(1);
                    System.out.println(intGrade1);
                    grade1 = grade1 + intGrade1;
                }
                for (ArrayList<Integer> overAll : courseGradeTotal) {
                    int totGrade1 = overAll.get(index).get(1);
                    System.out.print(totGrade1);
                    totalGrade1 = totalGrade1 + totGrade1;
                }

            }
        }

        System.out.println("Student grades: " + grade1);
        System.out.println("Total grades could have earned: " + totalGrade1);


    } //ends CalculateOverAllGrade method

在此方法中,第二个.get有一个错误:Cannot resolve method 'get' in 'Integer'。Array courseGrade的输出是[4643,98]。第一个数字是课程代码,第二个数字是授予学生的分数。我希望这一切都有意义,提前感谢您的帮助。
我试过太多东西了,我不知道从哪里开始。

nsc4cvqm

nsc4cvqm1#

“……我不知道我想做的事情是否可行。我已经创建了一个2d arrayList(它可以是列表中的一个列表),我需要拉取列表中的第二个元素,然后将它们添加到一起。..."*
这可以在Java中实现。

  • "...在此方法中,第二个.get有一个错误:无法在“Integer”中解析方法“get”。..."*

您已经获得了 index,因此无需在 courseGradecourseGradeTotal 上重新设置。
相反,从 courseGradecourseGradeTotal 中搜索 index

Iterator<Integer> i;
int index;
for (List<?> currentStudent : courseEnrollment)
    if ((index = currentStudent.indexOf(takeCode1)) != -1) {
        i = courseGrade.get(index).iterator();
        while (i.hasNext()) grade1 += i.next();
        i = courseGradeTotal.get(index).iterator();
        while (i.hasNext()) totalGrade1 += i.next();
    }

相关问题