Как навесить обработчик событий java

Всем привет. Суть программы в том чтобы найти максимальное число в одномерном массиве среди чисел делящихся на 3 и номер максимального числа. Такая проблема - нужно навесить обработчик событий на два случая - ввод рядка вместо числа, элементы кратны 3 отсутствуют. Попытался реализовать, но результат не тот.

import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.Arrays;

public class MainWithoutMethods {

    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);
        System.out.println("Размер массива");
        int size = 0;
        try {
            size = scn.nextInt(); //ввод размера массива
        } catch (NumberFormatException numberFormatException) {
            throw new NumberFormatException("Ввод только чисел");
        }
        int[] array = new int[size];
        try {
            System.out.println("Элементы массива:");
            for (int i = 0; i < size; i++) {
                array[i] = scn.nextInt(); //ввод элементов массива
            }
        } catch (InputMismatchException inputMismatchException) {
            throw new InputMismatchException("Ввод только чисел");
        }
        int max = 0;
        int idx = 0;
        for (int i = 0; i < size; i++) {
            if (array[i] % 3 == 0 && max < array[i]) { //поиск максимального числа кратного 3м
                max = array[i];
                idx++;
            }
        }

    }
}

Ответы (0 шт):