Liczenie poszczególnych liter w tekście.

0

Cześć,

chce napisać program w Javie, który będzie zliczał poszczególne litery w tekście. Np wczytuje dokument w którym jest zdanie "Ala ma kota" i program liczy ile jest jakich liter w tym zdaniu. czyli A: 4, L:1, M:1, K:1, O:1, T:1.
Nie mam pojęcia jak się za to zabrać. Jakich metod i klas muszę użyć?

Z góry dzięki za odpowiedzi!

1

Tylko to co na pierwszych dwóch stronach dowolnego kursu.
http://ideone.com/iMVAu5

2

A wersja elegancka którą da sie czytać:

Map<Character, Integer> mapa = new HashMap<Character, Integer>();
//
for(int i=0;i<line.length();++i)
{
    char literka=line.charAt(i);
    if(!mapa.containsKey(literka)){
        mapa.put(literka,0);
    }
    mapa.put(literka,mapa.get(literka)+1);
}
for(Entry<Character,Integer> entry: mapa.entrySet()){
    System.out.println(entry.getKey()+":"+entry.getValue());
}
0

Czemu nie tak:

for(int i=0;i<line.length();++i)
  {
   char literka=line.charAt(i);
   Integer fnd=mapa.get(literka);
   mapa.put(literka,(fnd==null?0:fnd)+1);
  }

?

0

Czym jest <Character, Integer?
To jest konieczne? Ma jakąś funkcję?

0

Dobra, dzięki za odpowiedzi, nie rozumiem jak te programy (i jeden i drugi) działają i muszę poczytać pokolei o tym co zastosowaliście

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