CodeGym
Promocja
CodeGym University
Nauka
Kurs
Zadania
Ankiety & Quizy
Gry
Pomoc
Harmonogram kopniaków w tyłek
Społeczność
Użytkownicy
Forum
Czat
Artykuły
Historie sukcesu
Aktywność
Opinie
Subskrypcje
Jasny motyw
Pytanie
  • Opinie
  • O nas
Rozpocznij
Rozpocznij naukę
Rozpocznij naukę teraz
  • Wszystkie pytania
Joanna
Poziom 18
Warszawa
  • 10.04.2020
  • 698widoki
  • 1komentarz

What do I do wrong?

Pytania dotyczące zadania Identyczne wyrazy na liście
Składnia Java,  Poziom 10,  Lekcja 11
Dyskutowane


Wczytaj listę 20 wyrazów z klawiatury.
Należy policzyć, ile razy każde słowo pojawia się na liście.
Wynik należy przedstawić w formie Map<String, Integer>, gdzie kluczem jest unikatowy wyraz, a wartością jest liczba jego wystąpień na liście.

Wyświetl zawartość mapy.
Wielkość liter (wielkie/małe) wpływa na wynik.

Wymagania:
  • Metoda liczSlowa musi deklarować i inicjalizować HashMap<String, Integer>.
  • Metoda liczSlowa musi zwracać utworzoną mapę.
  • Metoda liczSlowa powinna dodawać klucze, które odpowiadają unikalnym słowom i wartości, które odpowiadają liczbie wystąpień tych słów.
  • Program powinien wyświetlać powstałą mapę.
  • Metoda main musi wywoływać metodę liczSlowa.
package pl.codegym.task.task10.task1016; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; /* Identyczne wyrazy na liście */ public class Solution { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ArrayList<String> slowa = new ArrayList<String>(); for (int i = 0; i < 20; i++) { slowa.add(reader.readLine()); } Map<String, Integer> mapa = liczSlowa(slowa); for (Map.Entry<String, Integer> para : mapa.entrySet()) { System.out.println(para.getKey() + " " + para.getValue()); } } public static Map<String, Integer> liczSlowa(ArrayList<String> lista) { HashMap<String, Integer> wynik = new HashMap<String, Integer>(); String wyraz = " "; int licznik = 0; for (int i = 0; i < lista.size() - 1; i++) { wyraz = lista.get(i); licznik = 0; for (int j = 0; j < lista.size() - 1; j++) { if (wyraz.equals(lista.get(j))) { licznik++; } } if(wynik.containsKey(wyraz)){ } else{ wynik.put(wyraz,licznik); } } return wynik; } }
0
Komentarze (1)
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
Arnold Cytrowski
Poziom 29 , Breslau, Poland
17 kwietnia 2020, 06:00
just simplify it:
public static Map<String, Integer> liczSlowa(ArrayList<String> lista) {
       HashMap<String, Integer> wynik = new HashMap<String, Integer>();
       for (String s : lista) {
           wynik.put(s, Collections.frequency(lista, s));
       }



       return wynik;
   }
+1
Nauka
  • Rejestracja
  • Kurs Java
  • Pomoc w Zadaniach
  • Cennik
  • Projekty Gier
  • Składnia Java
Społeczność
  • Użytkownicy
  • Artykuły
  • Forum
  • Czat
  • Historie Sukcesu
  • Aktywność
  • Affiliate Program
Firma
  • O nas
  • Kontakt
  • Opinie
  • Pokój prasowy
  • CodeGym dla EDU
  • FAQ
  • Wsparcie
CodeGym CodeGym to internetowy kurs uczący od podstaw programowania w języku Java. Ten kurs to doskonały sposób na opanowanie języka Java dla początkujących. Zawiera pond 1200 zadań z możliwością natychmiastowej weryfikacji oraz niezbędny zakres teorii na temat podstaw języka Java. Aby pomóc Ci odnieść sukces w nauce, przygotowaliśmy również zestaw elementów motywacyjnych: quizy, projekty programistyczne, artykuły na temat efektywnego uczenia się i kariery programisty Java.
Obserwuj nas
Język interfejsu
Programistą Się Nie Rodzi, Programistą Się Zostaje © 2023 CodeGym
MastercardVisa
Programistą Się Nie Rodzi, Programistą Się Zostaje © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.