Действия с двухмерным массивом (Java)

Дан двухмерный массив nxn заполненный случайными буквами английского алфавита. Вот таким образом:

public static char[][] sozdanieMassiva(int razmerMassiva){
    char[][] massiv = new char[razmerMassiva][razmerMassiva];
    for(int i = 0; i<massiv.length;i++){
        for(int j = 0; j < massiv[i].length; j++){
            massiv[i][j] = sluchainajaBukva();
            //System.out.printf("%5c", massiv[i][j]);
        }
        //System.out.println();
    }
    return massiv;
}

К нему есть несколько заданий. Следующие: *Каких букв больше гласных или согласных *Сколько раз встречается каждый символ в матрице *Выделите определенным цветом символы, которые встречаются 1 раз (распечатайте индексы расположения элементов) *Есть ли строки или столбцы, где набор символов повторяется? Если да, то распечатайте номера строк или столбцов

Первое я решила следующим образом:

public static void glasnqeSoglasnqe(char[][] massiv){
    int chetchikGlasnqh = 0;
    int chetchikSoglasnqh = 0;
    for(int i = 0; i<massiv.length;i++){
        for(int j = 0; j < massiv[i].length; j++){
            if (massiv[i][j] == 'A' || massiv[i][j] == 'E' ||
                    massiv[i][j] == 'I' || massiv[i][j] == 'O' ||
                    massiv[i][j] == 'U' || massiv[i][j] == 'a' ||
                    massiv[i][j] == 'e' || massiv[i][j] == 'i' ||
                    massiv[i][j] == 'o' || massiv[i][j] == 'u') {
                chetchikGlasnqh++;
            } else {
                chetchikSoglasnqh++;
            }
    }
    }
    System.out.println("" + chetchikGlasnqh);
    System.out.println("" + chetchikSoglasnqh);
    if(chetchikGlasnqh>chetchikSoglasnqh){
        System.out.println("Гласных букв больше");
    }else if(chetchikGlasnqh<chetchikSoglasnqh){
        System.out.println("Согласных букв больше.");
    }else{
        System.out.println("В массиве равное количество гласных и согласных.");
    }
}

Вопрос: возможно ли решить следующие задания как-то по другому, кроме как простым сравнением каждого символа в массиве с каждой отдельной буквой? Если да, то как?


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