ali
ali

Reputation: 21

Longest sequence of a number in an array list

I'm trying to execute this so that it prints out the longest sequence of the same number. The error I get is that it's telling me that a class or enum is expected. Here's my code:

public class D4 {
   private static int getLongestRun(int[] array) { 
       int count = 1; 
       int max = 1;
       for (int i = 1; i < array.length; i++) {
           if (array[i] == array[i - 1]) {
              count++;
           } 
           else {
               count = 1;
           }
           if (count > max) {
               max = count;
           }
        }   
    }

    public static void main(String[] args) { 
        int[] array = new int[]{5, 6, 6, 45, 2, 2, 2};
        System.out.println(getLongestRun(array));
    }
}

Upvotes: 1

Views: 724

Answers (2)

Saumil
Saumil

Reputation: 186

function getLongestRun() is missing return max; statement.

Upvotes: 1

Tim Biegeleisen
Tim Biegeleisen

Reputation: 520968

This belongs as a comment, but I will give you full code so that it is clear. Just return max at the end of your getLongestRun() method:

private static int getLongestRun(int[] array) { 
    int count = 1; 
    int max = 1;

    for (int i = 1; i < array.length; i++) {
        if (array[i] == array[i - 1]) {
            count++;
        } 
        else {
            count = 1;
        }
        if (count > max) {
            max = count;
        }
    }

    // you forgot to return the length of the longest sequence to the caller
    return max;   
}

Upvotes: 2

Related Questions