How to resolve this issue?

why am I getting this errorf for the below code?

<<<<<<<<>>>>>>>>>>>>>>
Solution.java:33: error: cannot find symbol
int dif = apples.get[i]+m;
^
symbol: variable get
location: variable apples of type List
Solution.java:41: error: cannot find symbol
int dif = oranges.get[i]+n;
^
symbol: variable get
location: variable oranges of type List
2 errors

<<<<<<<<<<<<CODE>>>>>>>>>>>>>>
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import java.util.ArrayList;
import static java.util.stream.Collectors.toList;

class Result {

    /*
     * Complete the 'countApplesAndOranges' function below.
     *
     * The function accepts following parameters:
     *  1. INTEGER s
     *  2. INTEGER t
     *  3. INTEGER a
     *  4. INTEGER b
     *  5. INTEGER_ARRAY apples
     *  6. INTEGER_ARRAY oranges
     */

    public static void countApplesAndOranges(int s, int t, int a, int b,int m, int n, List<Integer> apples, List<Integer> oranges) {
    int x=0;
    int y=0;
    for(int i=0;i<a;i++)
    {
         int dif = apples.get[i]+m;
         if(dif>=s && dif<=t )
            {
                x=x+1;
            }
    }
     for(int i=0;i<a;i++)
    {
        int dif = oranges.get[i]+n;
         if(dif>=s && dif<=t )
            {
                y=y+1;
            }
    }
     System.out.println(x);
     System.out.println(y);
    }
       
}

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        String[] firstMultipleInput = bufferedReader.readLine().replaceAll("\\s+$", "").split(" ");

        int s = Integer.parseInt(firstMultipleInput[0]);

        int t = Integer.parseInt(firstMultipleInput[1]);

        String[] secondMultipleInput = bufferedReader.readLine().replaceAll("\\s+$", "").split(" ");

        int a = Integer.parseInt(secondMultipleInput[0]);

        int b = Integer.parseInt(secondMultipleInput[1]);

        String[] thirdMultipleInput = bufferedReader.readLine().replaceAll("\\s+$", "").split(" ");

        int m = Integer.parseInt(thirdMultipleInput[0]);

        int n = Integer.parseInt(thirdMultipleInput[1]);

        List<Integer> apples = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
            .map(Integer::parseInt)
            .collect(toList());

        List<Integer> oranges = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
            .map(Integer::parseInt)
            .collect(toList());

        Result.countApplesAndOranges(s, t, a, b, m, n, apples, oranges);

        bufferedReader.close();
    }
}
int dif = apples.get[i]+m;

I’m not a Java guy, but if apples is just an array of integers, do you need a getter? Can’t it just be:

int dif = apples[i]+m;

Also, do we know that a the length of the array? Or at least <=?

If that doesn’t work, try logging out the variables so you can see what is happening.

Thanks Kevin but the issue was in just in brackets.
The line should follow this → int dif = apples.get(i)+m; instead of int dif = apples.get[i]+m;

Looks like this is an ArrayList which apparently needs a getter. This probably would have been nice information to have :slight_smile:

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.