Действия с двухмерным массивом (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("В массиве равное количество гласных и согласных.");
}
}
Вопрос: возможно ли решить следующие задания как-то по другому, кроме как простым сравнением каждого символа в массиве с каждой отдельной буквой? Если да, то как?