Informatică, întrebare adresată de sergheinovac8, 8 ani în urmă

Să se determine numărul de vocale și frecvența repetării fiecăreia dintre ele.​

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

import java.util.Arrays;

import java.util.HashMap;

import java.util.Scanner;

public class FrecventaVocale {

   public static void main(String[] args) {

       System.out.print("Introdu cuvantul pentru a verifica frecventa vocalelor >> ");

       try (Scanner scannerObj = new Scanner(System.in)) {

           String cuvantulCitit = scannerObj.nextLine();

           System.out.println("In cuvantul " + cuvantulCitit + " avem urmatoarea frecventa a vocalelor:");

           afisareNumarVocale(cuvantulCitit);

       }

   }

   private static void afisareNumarVocale(String cuvantulCitit) {

       String[] vectorVocale = {"A", "E", "I", "O", "U", "a", "e", "i", "o", "u"};

       HashMap<String, Integer> frecventaVocale = new HashMap<>();

       Arrays.stream(vectorVocale).forEach(vocalaCurenta -> frecventaVocale.put(vocalaCurenta, 0));

       for (char caracterCurent : cuvantulCitit.toCharArray()) {

           String cheieCurenta = String.valueOf(caracterCurent);

           if (frecventaVocale.containsKey(cheieCurenta))

               frecventaVocale.put(cheieCurenta, frecventaVocale.get(cheieCurenta) + 1);

       }

       frecventaVocale.forEach((cheieCurenta, valoareCurenta) -> {

           if (valoareCurenta > 0)

               System.out.printf("Vocala %s apare %s%n", cheieCurenta, (valoareCurenta == 1) ? "odata" : ("de " + valoareCurenta + " ori!"));

       });

   }

}

Explicație:

Alte întrebări interesante