Ajudinha em java

Sou nova aqui no forum, alguem poderia me ajudar nessa questão java ??

  • Faça um programa no qual um usuário digite uma palavra de 4 caracteres e o programa deverá alterar a posição da primeira vogal encontrada com a segunda vogal encontrada e reapresentar a palavra na tela. Se na palavra digitada não possuir 4 caracteres ou não existir vogal ou se existir apenas uma vogal,seu sistema deverá apresentar uma mensagem de erro informando a incapacidade de processar a informação devido a falha da entrada dos dados.
    Não to conseguindo terminar, alguém sabe me dizer se estou no caminho certo ?

import java.util.Scanner;

public class Programa {

public static void main(String[] args) {


    char vogais[] = {'a', 'e', 'i', 'o', 'u'};
    System.out.println("Insira uma palavra de 4 letras: ");
    String texto = new Scanner(System.in).nextLine();
    String toLowerCase = texto.toLowerCase();
    if (texto.length() == 4) {
        for (int i = 0; i < texto.length(); i++) {
            char c = texto.charAt(i);
            if (texto.legth =) {
          
            }
        }

        System.out.println("");
    } else {
        System.out.println(" erro incapacidade  de  processar a informação  devido a falha da entrada dos dados");
    }
}

}

Segue uma maneira de fazer:

class Main {
  public static void main(String[] args) {
    
    String palavra = "Dado"; //Palavra teste!
    
    int indiceVogal1 = -1;
    int indiceVogal2 = -1;
    int tamanho = palavra.length();
    
    /*Se a palavra não tiver 4 letras o loop
    * não é executado \O/!
    */
    for(int i = 0; (i<tamanho && tamanho == 4);i++){
      
      char letra = palavra.charAt(i);
      
      //Encontro a primeira vogal!
      if(ehVogal(letra) && indiceVogal1==-1){
        indiceVogal1 = i;
      }
      //Se a primeira já foi encontrada essa é a segunda vogal!
      else if(ehVogal(letra)){
        indiceVogal2 = i;
        break;
      }
    }
    
    //Verifico se foi encontrada as duas vogais
    if(indiceVogal1 > -1 && indiceVogal2 > -1){
      //Faço a troca das vogais!
      StringBuilder novaPalavra = new StringBuilder(palavra);
      novaPalavra.setCharAt(indiceVogal1,palavra.charAt(indiceVogal2));
      novaPalavra.setCharAt(indiceVogal2,palavra.charAt(indiceVogal1));
    
      System.out.println("Nova palavra: " + novaPalavra.toString());
    }
    else{
      System.out.println("Erro!");
    }
  }
  
  //Função para verificar se um caractere é uma vogal!
  private static boolean ehVogal(char letra){
    
    boolean b = false;
    switch(Character.toLowerCase(letra)){
      case 'a':
      case 'e':
      case 'i':
      case 'o':
      case 'u':
        b = true;
        break;
    }
    return b;
  }
}

Eu usei outras coisa como switch e StringBuilider se você não conhece vale a pena pesquisar!
Também crie uma função para determinar se um caractere da palavra é uma vogal!
Essa é uma das maneira de fazer, ainda pode melhorar!