Program liczący ilość wystąpień danej litery

0

Witam,
Mógłby ktoś mi pomóc z napisaniem programu który będzie programem zliczającym częstotliwość występowania
poszczególnych liter (przyjmijmy, że interesują nas a-z, A-Z, bez
polskich znaków) oraz częstotliwość występowania słów w pliku tekstowym,
którego nazwę/ścieżkę podaje użytkownik po uruchomieniu programu? Udało mi się napisać program który zlicza ilość wszystkich liter.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class NewClass
{

   public static void main(String args[])
   {
     BufferedReader brIn = new BufferedReader(new InputStreamReader(System.in));

     int zliczacz = 0;
     String line = " ";

     try
     {

       {
       System.out.println("Wprowadz tekst:");
       line = brIn.readLine();
       System.out.println("Wprowadzona linia to: " +line);

       }
     }

       catch(IOException e)
       {
       System.out.println("Bład");
       }
       
       for (int i = 0; i < line.length(); i++)
       {
       zliczacz++;
       }

     System.out.println("Tekst zawiera: "+zliczacz+" znak");

   }
}
0

Robisz sobie tablicę/mapę która wiąże literkę/słowo z ilością jej wystąpień. Następnie iterujesz po tekście i robisz:

Map<String,Integer> mapa = new HashMap<String,Integer>();
//dla kazdej literki/wyrazu
if(mapa.containsKey(literka/wyraz){
  mapa.put(literka/wyraz,mapa.get(literka/wyraz)++);
}else{
  mapa.put(literka/wyraz,0);
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1