-1

I need to sum 1(1,0),5(2,1),9(3,2) and 3(0,2),5(2,1),7(3,0)

import java.util.*;

public class Diagonal {
    public static void main(String[] args) {
        
        
        //declare & initializing 2D arrayList (integer array)

        List<List<Integer>> array = new ArrayList<List<Integer>>()
        {{
            add(Arrays.asList(1));
            add(Arrays.asList(1,2,3));
            add(Arrays.asList(4,5,6));
            add(Arrays.asList(7,8,9));
        }};

        System.out.println("Difference between diagonals \n");

        // declare some variable to store the sum;

        int right_diagonal=0, left_diagonal=0, differ=0, l=array.size()-1;

        for (int i = 0; i < array.size(); i++) {
            right_diagonal += array.get(i).get(i);
            left_diagonal += array.get(i).get(l-1);
        }

        System.out.println("using only for loop ");
        System.out.println(" right diagonal sum is " + right_diagonal);
        System.out.println(" left diagonal sum is " + left_diagonal);
     }

}

But I got this message

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 1 at java.base/java.util.Arrays$ArrayList.get(Arrays.java:4165) at Diagonal.main(Diagonal.java:35)

Progman
  • 14,690
  • 4
  • 32
  • 46

0 Answers0