samedi 17 août 2019

How verify that 3 numbers in sequence are equals?

I have to check if a sequence of any numbers are equals. The user will submit a sequence, and if, the numbers repeat in sequence, he won some points.

And the sequence to win the points it's a sequence of three. For example: 1 3 4 4 4 5 He won the points because he inputted a sequence of 3 numbers 4.

The sequence of numbers it's on a Vector. The size of the vector, It's given by the user too.

for (int i = 0; i < M.length; i++) {
            if (M[i] == M[i + 1] && M[i + 1] == M[i+2]) {
                if (L[i] == L[i + 1] && L[i + 1] == L[i + 2]) {
                    ValuePoint = 0;
                } else {
                    PExtraM = i;
                    ValuePoint = 30;
                }

Scanner sc1 = new Scanner(System.in);

        R = sc1.nextInt();

        int M[] = new int[R];
        int L[] = new int[R];

        for (int i = 0; i < M.length; i++) {
            M[i] = sc1.nextInt();
        }

        for (int i = 0; i < L.length; i++) {
            L[i] = sc1.nextInt();
        }


//The problem It's here ************************************


        for (int i = 0; i < M.length; i++) {
            if (M[i] == M[i + 1] && M[i + 1] == M[i+2]) {
                if (L[i] == L[i + 1] && L[i + 1] == L[i + 2]) {
                    ValuePoint = 0;
                } else {
                    PExtraM = i;
                    ValuePoint = 30;
                }

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at maratona.Maratona2.main(Maratona2.java:37) Java Result: 1

Aucun commentaire:

Enregistrer un commentaire