мое упражнение зависает, и я не понимаю, почему - PullRequest
0 голосов
/ 01 марта 2020

Я создал эту проблему, когда программа ищет дубликат. потому что не работает?

package javaapplication5;

/**
 *
 * @author miste
 */
public class JavaApplication5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        NewClass n = new NewClass();
        int[] numero = {2, 3, 4, 5, 6, 3};
        n.cerca(numero);
    }

}

package javaapplication5;

import static java.lang.reflect.Array.get;

/**
 *
 * @author miste
 */
public class NewClass {
    int [] numero = {2, 3, 4, 5, 6, 3};

    public void cerca(int[] numero) {
        int tmp = 0;
        for (int i = 0; i < 7; i++) {
            tmp = numero[i];
        }
        for (int j = 0; j < 7; j++) {
            if (numero[j] == tmp) {
                System.out.println("il duplicato è " + tmp);
            }
        }
    }
}

1 Ответ

0 голосов
/ 03 марта 2020

Ваш массив имеет длину 6. Максимальный индекс, который вы можете перебрать, равен 5. Поскольку вы перебираете его от 0 до 6, он дает вам ArrayIndexOutOfBoundsExcption. Вы можете исправить это, изменив условие l oop на i<6

...