CodeGym
Promocja
Nauka
Kursy
Zadania
Ankiety & quizy
Gry
Pomoc
Harmonogram
Społeczność
Użytkownicy
Forum
Czat
Artykuły
Historie sukcesu
Aktywność
Opinie
Subskrypcje
Jasny motyw
Pytanie
  • Opinie
  • O nas
Start
Rozpocznij naukę
Rozpocznij naukę teraz
  • Wszystkie pytania
CodeGym/Pomoc w zadaniach Java/czy wystarczy zmienić coś w pętlach czy muszę to zupełnie...
Mateusz
Poziom 10
Wejherowo
  • 14.04.2020
  • 1166wyświetlenia
  • 1komentarz

czy wystarczy zmienić coś w pętlach czy muszę to zupełnie inaczej wykonać?

Pytanie o zadanie Powtórzenia nie są potrzebne
Java Syntax,  Poziom 8,  Lekcja 8
Rozwiązane

Utwórz Map<String, String> i dodaj dziesięć wpisów, które odpowiadają parom (nazwisko, imie).
Usuń ludzi o takich samych imionach.

Wymagania:
  • Program nie powinien wyświetlać tekstu na ekranie.
  • Program nie powinien czytać wartości z klawiatury.
  • Metoda utworzMap() musi tworzyć i zwracać HashMap, który ma elementy (String, String) i zawiera 10 wpisów.
  • Metoda usunPowtorzoneImiona() musi usuwać z mapy wszystkich ludzi o takich samych imionach.
  • Metoda usunPowtorzoneImiona() musi wywoływać metodę usunElementZMapPoWartosci().
package pl.codegym.task.task08.task0817; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; /* Powtórzenia nie są potrzebne */ public class Solution { public static HashMap<String, String> utworzMap() { HashMap<String, String>mapa=new HashMap<>(); mapa.put("a","a"); mapa.put("b","a"); mapa.put("c","b"); mapa.put("d","c"); mapa.put("e","d"); mapa.put("f","e"); mapa.put("g","f"); mapa.put("h","a"); mapa.put("i","g"); mapa.put("j","h"); return mapa; } public static void usunPowtorzoneImiona(Map<String, String> mapa) { ArrayList<String>lista=new ArrayList<>(); for (Map.Entry<String,String>para:mapa.entrySet()){ String klucz=para.getKey(); String wartosc=para.getKey(); for (Map.Entry<String,String>para1:mapa.entrySet()){ String klucz1=para1.getKey(); String wartosc1=para1.getValue(); if (klucz!=klucz1 &&wartosc==wartosc1){ lista.add(wartosc); } } } for(String element:lista) { usunElementZMapPoWartosci(mapa, element); } } public static void usunElementZMapPoWartosci(Map<String, String> mapa, String wartosc) { HashMap<String, String> kopia = new HashMap<String, String>(mapa); for (Map.Entry<String, String> para : kopia.entrySet()) { if (para.getValue().equals(wartosc)) mapa.remove(para.getKey()); } } public static void main(String[] args) { } }
0
Komentarze (1)
  • Popularne
  • Nowe
  • Najstarsze
Musisz być zalogowany aby dodać komentarz
Michał
Poziom 18 , Lublin, Poland
14 kwietnia 2020, 17:55rozwiązanie
Wystarczy zrobić kilka zmian. Twój program nie usuwa imion z listy, która jest przesyłana do metody. w linii 30 stwórz kopie przesłanej mapy: HashMap<String, String> kopia = new HashMap<String, String>(mapa); następnie w pętli for each operuj na kopi tzn. for (Map.Entry<String, String> para : kopia.entrySet()){ for (Map.Entry<String, String> para2 : kopia.entrySet()){ String wartosc = para2.getValue(); if (para.getValue().equals(wartosc) && para.getKey() != para2.getKey()){ usunElementZMapPoWartosci(mapa,para2.getValue()); // w tym miejscu usuwasz imiona z przesłanej mapy } } }
+3
Nauka
  • Rejestracja
  • Kurs Java
  • Pomoc w zadaniach
  • Cennik
  • Składnia Javy
Społeczność
  • Użytkownicy
  • Artykuły
  • Forum
  • Czat
  • Historie sukcesu
  • Aktywność
  • Program partnerski
Firma
  • O nas
  • Kontakt
  • Opinie
  • Dla mediów
  • CodeGym dla EDU
  • FAQ
  • Wsparcie
CodeGymCodeGym to kurs online do nauki programowania w Javie od podstaw. Kurs idealny do opanowania Javy dla początkujących. Zawiera 1200+ zadań z natychmiastową weryfikacją oraz niezbędny zakres teorii podstaw Javy. Aby pomóc Ci w nauce, wprowadziliśmy zestaw funkcji motywacyjnych: quizy, projekty programistyczne, materiały o efektywnej nauce i poradnik kariery dla programisty Java.
Obserwuj nas
Język interfejsu
English Deutsch Español हिन्दी Français Português
Polski
বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym
MastercardVisa
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym