Problem: 8.3


 Question 8.3:  C. Java ArrayList

Sometimes it's better to use dynamic size arrays. Java's Arraylist can provide you this feature. Try to

solve this problem using Arraylist. You are given n lines. In each line there are zero or more integers. You need to answer a few queries where you need to tell the number located in yth position of xth line. Take your input from System.in. Input Format The first line has an integer n. In each of the next n lines there will be an integer d denoting number of integers on that line and then there will be d space-separated integers. In the next line there will be an integer q denoting number of queries. Each query will consist of two integers x and y.

Output Format

In each line, output the number located in yth position of xth line. If there is no such position, just print

"ERROR!"

Sample Input

5

5 41 77 74 22 44

1 12

4 37 34 36 52

0

3 20 22 33

5

1 3

3 4

3 1

4 3

5 5

Sample Output

74

52

37

ERROR!

ERROR!

ArrayList<ArrayList> listArray = new ArrayList<ArrayList>();****

ArrayList< Integer > intArrayList = new ArrayList< Integer >();

for(int j=0;j<numOfIntegers;j++){

intArrayList.add(new Integer(sc.nextInt()));

}

listArray.add(intArrayList);


Solution: 


import java.util.*;

public class lab8quation3{

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

       int n = in.nextInt();

        ArrayList<ArrayList<Integer>> rows = new ArrayList<>();    



        for (int i = 0; i < n; i++) {

            int d = in.nextInt();

            ArrayList<Integer> row = new ArrayList<>();          



            for (int j = 0; j < d; j++) {

                row.add(in.nextInt());

           }         



            rows.add(row);

        }    

        int q = in.nextInt();     



        for (int i = 0; i < q; i++) {


            int x = in.nextInt();

            int y = in.nextInt();       


           try {



                System.out.println(rows.get(x - 1).get(y - 1));

            } catch (IndexOutOfBoundsException e) {

                System.out.println("ERROR!");

            }

        }

    }



}


Previous Post Next Post