user6135586
user6135586

Reputation:

calculate number of occurrences in array in java

I want to calculate the number of occurences of a specific number I decide in my main method. Here is what I have to do :

• A function that fills the array with random numbers.

• A function that calculates the number of occurrences,this function may not do any input or output.

• The main function that asks the user for the number and present the result on the screen.

Here is my code in java :

import java.util.Random;
import java.util.Scanner;

public class Code {

    public void calculate(int value) {

        Code c = new Code();
        int count=0;
        for (int n=0; n<array.length; n++) { // the code does not recognize array
            if (array[n]==value) { // the code does not recognize array
                count++;
            }
        }
        System.out.println(count);

    }

    public void addToArray() {

        int k =0;
        int [] array = new int[10];
        int min=0;
        int max=10;
        int diff = max-min;
        while (k<10) {
        Random r = new Random();
        int x = r.nextInt(diff);
        array[k]=x;
        k=k+1;
        }


    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("give your number");
        Code c = new Code();
        Scanner s = new Scanner(System.in);
        int value = s.nextInt();
        c.addToArray();
        c.calculate(value);



    }

}

The only thing I need help with is the calculate method ,, eclipse does not recognize array in the calculate method above ..

How to correct the calculate method to make it recognize array ?

thank you

Upvotes: 0

Views: 89

Answers (2)

Marouane S.
Marouane S.

Reputation: 119

if using Java 8 you could update your calculate methode like this :

      public void calculate(int value) {
            System.out.println(Arrays.stream(array)
                                     .filter(i -> i == value)
                                     .count());
      }

By adding this imports to your class :

import java.util.Arrays;

And like mentionned HackerDarshi declaring the attribut array as a member of your class

Upvotes: 0

dryairship
dryairship

Reputation: 6077

Your array is limited to the scope of the method addToArray(). So, it will not be visible to other methods. You need to make it global. Then it will work.

Instead of declaring array in the method addToArray, declare it in your class, like:

public class Code {
    int [] array = new int[10];
    ...

Upvotes: 1

Related Questions