CodeGym /Blog Java /Random-PL /Stary poziom 08
John Squirrels
Poziom 41
San Francisco

Stary poziom 08

Opublikowano w grupie Random-PL

Globalny rynek pracy

Stary poziom 08 - 1Jeśli mieszkasz w małym, biednym lub rozwijającym się kraju, możesz w pewnym momencie natknąć się na ograniczenia lokalnego rynku pracy.

Ograniczenia dla lokalnego rynku pracy

1 Niskie wynagrodzenie

Nawet jeśli jesteś wysoko wykwalifikowanym specjalistą, na lokalnym rynku pracy może po prostu nie być pracodawcy, który byłby w stanie wypłacić Ci wynagrodzenie, na jakie zasługujesz. Przykład: nauczyciele, naukowcy.

2 Niepotrzebne stopnie naukowe

Liczba prawników i ekonomistów, których produkują uniwersytety, przekracza zapotrzebowanie rynku pracy ponad dziesięciokrotnie. 90% tych specjalistów nie może dostać pracy w zawodzie. Często jest to wynikiem niskiej jakości kształcenia.

3 Brak popytu na Twój zawód

Możesz być wspaniałym naukowcem, ale państwo nie finansuje już badań podstawowych. W urzędzie stanu cywilnego zaleca się przekwalifikowanie. W takiej sytuacji robienie tego jest bardzo nierozsądne, ponieważ są kraje, w których twoja wiedza i umiejętności są poszukiwane. Kiedy światowej sławy naukowiec opuszcza rodzimą katedrę i zostaje do zmywania naczyń w Nowym Jorku – to tragedia. Kiedy światowej sławy naukowiec zmywa naczynia we własnym kraju, zamiast być kierownikiem katedry w Nowym Jorku – to jeszcze większa tragedia.

4 Małe możliwości kariery

Jesteś maklerem giełdowym i chcesz rozwijać się jako specjalista ds. finansowych funduszy kredytowych. Chcesz być w przyszłości szefem własnej fundacji inwestycyjnej. W twoim kraju nie może być zapotrzebowania na takich specjalistów jak ty.

5 Małe rynki pracy

W Twoim kraju mogą być tylko dwie firmy zainteresowane takim specjalistą jak Ty. Jeśli pracujesz dla jednego z nich, możesz otrzymać zakaz współpracy z ich rywalami. Po prostu nie masz dokąd pójść. Proces globalizacji oraz rozwój i potanienie technik telekomunikacyjnych zaowocowały pojawieniem się globalnego rynku pracy. Rynek globalny składa się z firm, które chcą (i są w stanie) zatrudniać pracodawców za granicą. W jej skład wchodzą również pracodawcy, którzy chcą (i są w stanie) podjąć pracę w firmie zagranicznej.

Zalety światowego rynku pracy

1 Wynagrodzenia są niższe niż w krajach rozwiniętych, ale wyższe niż w krajach rozwijających się

Jeśli pochodzisz z kraju rozwijającego się i jesteś specjalistą na żądanie na globalnym rynku pracy, to Twoje wynagrodzenie może różnić się 5-10 razy na rynku globalnym i lokalnym. Co więcej, możesz wydawać pieniądze w swoim kraju, wlewając je w jego gospodarkę.

2 Doświadczenie. Doskonały proces biznesowy

Istnieją trzy najważniejsze rzeczy, które zapewnia ci praca: doświadczenie, pieniądze i koneksje. Jeśli jesteś przyzwyczajony do brania tylko pieniędzy – to twój problem . Najcenniejsze doświadczenie możesz zdobyć pracując dla czołowych światowych firm. Przyjmują tendencje globalizacyjne, więc dostać tam pracę jest łatwiej niż myślisz. Będąc pracownikiem firmy masz możliwość zobaczenia wszystkich efektywnych i nieefektywnych wewnętrznych procesów biznesowych. Wszystko, co musisz zrobić, to patrzeć i słuchać.

3 Duże możliwości kariery

Praca w dużej międzynarodowej korporacji pozwoli Ci na rozwój zawodowy i zbudowanie kariery. Możesz zdobyć dobre kontakty na całym świecie, a to jest bardzo przydatne: zdobądź reputację wysoko wykwalifikowanego specjalisty, a kilka międzynarodowych firm prawdopodobnie zaproponuje Ci dalsze budowanie kariery, pracując dla nich. Wszystko, czego potrzebuje utalentowana osoba, to szansa; sam wymyśli, jak to wykorzystać.

4 wyjazdy służbowe

Często będziesz otrzymywać propozycje wyjazdów służbowych za granicę. Zwłaszcza jeśli firma, w której pracujesz, ma kilka oddziałów za granicą. Nie zaniedbuj tych możliwości: to dobra okazja do podróżowania, a także zdobywania nowej wiedzy i umiejętności, rozmawiania z ludźmi. Pamiętaj, im szersze horyzonty, tym więcej korzyści.

5 Możliwość przeprowadzki do kraju, który lubisz

Stary poziom 08 - 2Często zdarza się, że kiedy już wyrobiłeś sobie opinię wysoko wykwalifikowanego specjalisty, dostajesz propozycję przeniesienia się (do pracy) do siedziby swojego pracodawcy. To bardzo wygodne. Do tego czasu prawdopodobnie byłeś tam w podróży służbowej i dobrze wiesz, dokąd się wybierasz. Masz tam już przyjaciół i znajomych. Dostaniesz dobrą pracę i kolegów, z którymi teraz masz się dobrze. To chyba najlepsze warunki imigracyjne, jakie znam.

Wymagania światowego rynku pracy

1 Twój zawód musi im sprostać

Nie wszystkie zawody spełniają wymagania globalnego rynku. Ale wielu tak. A ta lista stale rośnie. Mogę je wymieniać długo: wsparcie, rozwój, badania, projektowanie, prawie wszystko, co ma związek z siecią i komputerami. Jeśli Twój zawód pojawił się zaledwie 20-30 lat temu, istnieje bardzo duże prawdopodobieństwo, że można go łatwo zglobalizować.

2 Cena i jakość

Kiedy zagraniczna firma widzi, że w Twoim kraju może zatrudnić fachowca wyższej jakości i za niższą cenę, trudno się oprzeć. Musisz być albo „lepszy i tańszy” albo „znacznie tańszy”. Samo „tańsze” nie zadowoli zagranicznej firmy, ponieważ zatrudnianie specjalistów za granicą wiąże się z dużym ryzykiem.

3 angielski

W XXI wieku język angielski jest językiem międzynarodowym. Jeśli chcesz pracować na globalnym rynku i czerpać z niego wszystkie korzyści, ale angielski nie jest Twoim językiem ojczystym – naucz się go. Im niższy poziom angielskiego, tym silniejsze powinny być pozostałe dwie zalety.

Osiągnąłeś nowy poziom

Poziom 8

Stary poziom 08 - 3

1 Elly, Wyjaśnienie zbiorów

Stary poziom 08 - 4- Hej, Amigo. Dzisiaj chcę Wam opowiedzieć o kolekcjach. W Javie klasy, których głównym celem jest przechowywanie zestawu innych elementów, nazywane są kolekcjami/kontenerami. Przykładem takiej klasy, którą już znasz, jest ArrayList. - W Javie kolekcje są podzielone na trzy główne grupy: Set, List i Map. - Więc jaka jest między nimi różnica? - Zacznę od Seta. Wyobraź sobie stos butów. To zestaw. W zestawie możesz dodać element, znaleźć go lub usunąć. Ale elementy nie mają tam ścisłego porządku! - Wyjaśnienie jest zbyt krótkie... -Teraz wyobraź sobie ten sam stos butów, tym razem ułożonych wzdłuż ściany. Teraz jest zamówienie. Każdy element ma swój numer. Na przykład możesz znaleźć „parę numer 7” po jej numerze. To jest Lista . Możesz dodać element na początku lub w środku listy lub go usunąć, wystarczy do tego jego numer. - Gotcha. A co z Mapą? - Wyobraź sobie te same buty, ale teraz na każdej parze znajduje się etykieta, np. „Nick”, „Joe” lub „Ann”. To jest mapa, często nazywana „słownikiem”. Każdy element ma swoją unikalną nazwę, dzięki której możesz uzyskać do niego dostęp. Unikalna nazwa elementu jest również nazywana kluczem. A mapa to zestaw par klucz-wartość. Klucz nie musi być ciągiem znaków. Może być dowolnego rodzaju. Mapa , który jest typem kluczaInteger , jest w rzeczywistości listą (z pewnymi różnicami). - To jasne, ale chciałbym zobaczyć więcej przykładów. - Risha poda przykłady, a ja chcę dodać jeszcze kilka słów. - Wszystkie kolekcje i kontenery nic nie przechowują, gdy są dopiero tworzone. Ale możesz później dodawać do nich elementy. Będą dynamicznie zmieniać swój rozmiar. - O, teraz jest ciekawie. A skąd wiesz, ile elementów jest w kolekcji? - Aby to zrobić, istnieje metoda size() . W kolekcjach znajdziesz wszystko, czego potrzebujesz. Myślę, że po kilku lekcjach przekonasz się, jak przydatne są te kolekcje. - Mam nadzieję.

1 Risha, Lista wszystkich kolekcji i interfejsów

Stary poziom 08 - 5 - Hej, Amigo. - Cześć, Risza. - Lila powiedziała mi, że chcesz więcej przykładów kolekcji. Dam ci kilka. Chcę wam pokazać listę kolekcji i interfejsów: Stary poziom 08 - 6- Hum, tyle. Istnieją cztery Listy, trzy Zestawy i cztery Mapy. - Tak, to wszystko są różne implementacje interfejsów List, Set i Map. - A jaka jest różnica między realizacjami? - Właśnie o tym dzisiaj porozmawiamy. Poczekaj trochę. - Być może masz już jakieś pytania. - Wiem, jak wyświetlić listę na ekranie. A jak wyświetlić zestaw i mapę? - Elementy Listy mają ścisłą kolejność, więc można je wyświetlić po prostu według ich numerów. Zestaw i mapa nie mają ścisłej kolejności elementów. W rzeczywistości kolejność ich elementów może się zmienić, gdy dodasz lub usuniesz dowolny element. - Wow, to ciekawe! - Dlatego wymyślono specjalne obiekty ( iteratory ) do pracy z elementami kolekcji. Za ich pomocą możesz przeglądać wszystkie elementy kolekcji, nawet jeśli nie mają numerów, tylko nazwy (Mapa) lub nie mają żadnych nazw (Zestaw). - Przykłady: Stary poziom 08 - 7- Wow! A co to wszystko oznacza? - Właściwie to całkiem proste. Najpierw dostajemy specjalny obiekt iteratora z kolekcji. Ma tylko dwie metody. 1 metoda next() polega na zwróceniu następnego elementu kolekcji. 2 metoda hasNext() polega na sprawdzeniu, czy istnieją elementy, które nie zostały jeszcze zwrócone przez next(). - Tak. Staje się jaśniejszy. Powiem jak ja to rozumiem. - Tak więc, aby uzyskać ten magiczny obiekt iteratora, najpierw musisz wywołać metodę iterator() w kolekcji. - Następnie dostaję je jeden po drugim w pętli, podczas gdy istnieją niezwrócone przedmioty. Otrzymuję element kolekcji, wywołując next() i sprawdzam, czy w iteratorze są elementy za pomocą hasNext(). Czy mam rację? - Tak, coś w tym stylu. A teraz najciekawsza rzecz. - W Javie istnieje krótka notacja użycia iteratora. Podobnie jak while i for , dodano kolejny operator specjalny « for each ». W kodzie ten operator jest oznaczony tym samym słowem kluczowym dla . — Operator for-each jest używany tylko w przypadku kolekcji i kontenerów. Potajemnie używa iteratora. - Pozwól, że pokażę ci pełny i krótki sposób pracy z iteratorem: Stary poziom 08 - 8- Uwaga: w prawej tabeli nie ma ani zielonych, ani czerwonych słów. W rzeczywistości 3 linie zostały zastąpione jedną: Stary poziom 08 - 9- Wygląda wspaniale. Podoba mi się bardziej w ten sposób! - Spójrzmy na te same przykłady co powyżej, tylko w skrócie: Stary poziom 08 - 10- To zupełnie inna historia! - Cieszę się że ci się podoba.

3 Diego, Zadania windykacyjne

- Hej, Amigo. Chcę dać ci kilka zadań związanych ze zbieraniem:
Zadania
1 1. Roślina HashSet
Utwórz kolekcję HashSet elementów typu String . Dodaj do kolekcji 10 ciągów: arbuz, banan, wiśnia, gruszka, melon, jeżyna, żeń-szeń, truskawka, irys i ziemniak. Wyświetl na ekranie zawartość kolekcji. Każdy wpis powinien znajdować się w nowej linii. Zobacz, jak zmieniła się kolejność dodawanych elementów.
2 2. HashMap 10 par
Utwórz kolekcję HashMap<String, String> , umieść w kolekcji 10 par ciągów: arbuz - jagoda, banan - trawa, wiśnia - jagoda, gruszka - owoc, melon - warzywo, jeżyna - jagoda, żeń-szeń - korzeń, truskawka - jagoda, irys - kwiat, ziemniak - bulwa.
Wyświetl na ekranie zawartość kolekcji. Każdy wpis powinien znajdować się w nowej linii.

Przykład wyjścia (pokazano tylko jeden ciąg znaków):
ziemniak - bulwa
3 3. Kolekcja kotów HashMap
Istnieje klasa Cat , która ma nazwę pola (name, String).
Utwórz kolekcję HashMap<String, Cat> .
Dodaj 10 kotów, używając imienia kota jako klucza.
Wyświetl na ekranie wynik. Każdy wpis powinien znajdować się w nowej linii.
4 4. Wyświetl na ekranie listę kluczy
Istnieje kolekcja HashMap<String, String> , ma już 10 różnych ciągów znaków.
Wyświetl na ekranie listę klawiszy. Każdy wpis powinien znajdować się w nowej linii.
5 5. Wyświetl na ekranie listę wartości
Istnieje kolekcja HashMap<String, String> , ma już 10 różnych ciągów znaków.
Wyświetl na ekranie listę wartości. Każdy wpis powinien znajdować się w nowej linii.
6 6. Kolekcja HashMap obiektów
Istnieje kolekcja HashMap<String, Object> , która ma już 10 różnych par obiektów.
Wyświetl na ekranie zawartość kolekcji. Każdy wpis powinien znajdować się w nowej linii.

Przykładowy wynik (pokazano tylko jeden ciąg):
Sim - 5

4 Kim, Wprowadzenie do typu Data

Stary poziom 08 - 11- Hej, Amigo. Chciałbym opowiedzieć o ciekawym typie – Date . Ten typ umożliwia przechowywanie daty i godziny, a także mierzenie przedziałów czasowych. - Wygląda obiecująco. Kontynuować. - Każdy obiekt Date przechowuje informacje o czasie. Jest ona zapisana w bardzo ciekawej formie - liczby milisekund, które upłynęły od 1 stycznia 1970 GMT. - Wow! - Tak. Ta liczba jest tak duża, że ​​nie mieści się w int , musisz ją przechowywać w long . Ale bardzo łatwo jest obliczyć różnicę między dwiema datami: wystarczy odjąć jedną liczbę od drugiej, aby poznać różnicę z dokładnością do milisekund. W przyszłości ułatwi ci to życie, gdy napotkasz problemy ze strefami czasowymi. - A najciekawsze jest to, że każdy obiekt Date jest inicjowany przez czas jego utworzenia. Aby sprawdzić aktualny czas, wystarczy utworzyć obiekt. - A jak z tym pracować? - Oto kilka przykładów: Stary poziom 08 - 12- Metoda getTime() zwraca liczbę milisekund przechowywanych w obiekcie Date. - Metoda after() sprawdza, czy data, w której wywołano tę metodę, jest późniejsza niż data przekazana. - Metody getHours() , getMinutes() , getSeconds() zwracają liczbę godzin, minut i sekund dla obiektu, w którym zostały wywołane. - Co więcej, w ostatnim przykładzie widać, że można manipulować datą/godziną przechowywaną w obiekcie Date. Otrzymujemy aktualny czas i datę, a następnie ustawiamy na zero godziny, minuty i sekundy. Podobnie ustawiliśmy miesiąc na styczeń, a dzień miesiąca na 1. Teraz obiekt yearStartTime przechowuje datę i czas 1 stycznia, 0 godzin, 0 minut i 0 sekund. - Następnie ponownie otrzymujemy bieżącą datę currentTime i obliczamy różnicę między dwiema datami w milisekundach. Mówię o msTimeDistance . - Następnie podziel msTimeDistance przez liczbę milisekund w ciągu dnia i uzyskaj całkowitą liczbę dni, które upłynęły od początku roku do tej pory! - Wow! To cudownie!

5 Elly, ArrayList a LinkedList

- Co powiesz na trochę dostroić swój umysł? Mam nadzieję, że jeszcze nie jest spalony. - W powyższej tabeli kontenerów i kolekcji widać, że ten sam interfejs może mieć wiele implementacji. Teraz powiem ci dlaczego. A jaka jest różnica między ArrayList a LinkedList . - Rzecz w tym, że kolekcję można zaimplementować na różne sposoby i nie ma jednej poprawnej implementacji . W jednym podejściu niektóre operacje są szybkie, a pozostałe powolne. W drugim podejściu jest odwrotnie. Nie ma jednego idealnego rozwiązania. - W związku z tym zdecydowano się na wykonanie kilku wdrożeń tej samej kolekcji. Każda implementacja była optymalizowana pod pewien wąski zakres operacji.Pojawiły się więc różne kolekcje. Rozważmy przykład dwóch klas — ArrayList i LinkedList . Stary poziom 08 - 13ArrayList jest zaimplementowana wewnętrznie jako zwykła tablica . Dlatego, gdy element jest wstawiany na środek, wszystkie elementy muszą zostać przesunięte o jeden za nim, a następnie nowy element może zostać wstawiony w wolne miejsce. Jednak operacje pobierania i edytowania elementu ( get() i set() ) są realizowane bardzo szybko w ArrayList. Ponieważ wszystko, co robią, to po prostu dostęp do odpowiedniego elementu wewnętrznej tablicy. - LinkedList jest zaimplementowany w inny sposób. Jest zaimplementowany jako połączona lista: zestaw pojedynczych elementów, z których każdy przechowuje odniesienia do następnego i poprzedniego elementu. Aby wstawić element na środek takiej listy, metoda add() po prostu zmienia odniesienia do swoich przyszłych sąsiadów. Jednak aby uzyskać element o numerze 130, metoda get() musi konsekwentnie przechodzić przez wszystkie obiekty od 0 do 130. Innymi słowy, set i get here są bardzo wolne . Spójrz na poniższą tabelę: Stary poziom 08 - 14- Tak. Teraz robi się jaśniej. Czy są jakieś kryteria lub zasady, która kolekcja jest najlepsza? - Cóż, dla uproszczenia, oto następująca zasada: jeśli zamierzasz wstawić (lub usunąć) wiele elementów w środku kolekcji, lepiej użyj LinkedList . W przeciwnym razie użyj ArrayList. - Wyjaśnię panu wewnętrzną strukturę tych list na wyższych szczeblach. Póki co nauczymy się z nich korzystać.

6 Diego, Zadanie: zmierz wydajność obu list

- To ty. Zacząłem się nudzić. Gdzie byłeś? Oto zadania. - Czy są interesujące? - Dlaczego, jasne! Bardzo interesujące:
Bardzo ciekawe zadania
1 1. Utwórz dwie listy LinkedList i ArrayList.
Utwórz dwie listy: LinkedList i ArrayList .
2 2. Wykonaj po 10 tysięcy operacji wstawiania i usuwania
Wykonaj po 10 tysięcy operacji wstawiania, usuwania, wywołań metod get() i set() dla tablicy arrayList i linkedList.
3 3. Zmierz, ile czasu zajmuje zrobienie dziesięciu tysięcy wstawek dla każdej listy
Zmierz, ile czasu zajmuje zrobienie dziesięciu tysięcy wstawek dla każdej listy.
Metoda getTimeMsOfInsert() powinna zwrócić czas jej wykonania w milisekundach.
4 4. Zmierz czas potrzebny na wykonanie dziesięciu tysięcy wywołań get dla każdej listy
Zmierz czas potrzebny na wykonanie dziesięciu tysięcy wywołań get() dla każdej listy
Metoda getTimeMsOfGet() powinna zwrócić czas jej wykonania w milisekundach.
5 5. Cztery metody
Zaimplementuj 4 metody. Metody powinny zwracać listę najlepiej przystosowaną do wykonywania określonych operacji (aby szybko poradzić sobie z dużą liczbą operacji). Pomiar nie jest potrzebny.

7 Elly: Set and Map, co można z nimi zrobić

- Nie jesteś jeszcze zmęczony? Nie, więc kontynuujmy. Chciałbym wyjaśnić, czym są zestaw i mapa . I jakie mają operacje. - Zestaw to zbiór niewyliczonych obiektów. Główną cechą zestawu jest to, że ma tylko unikalne obiekty , to znaczy, że wszystkie są różne . Oto, co możesz z tym zrobić: Stary poziom 08 - 15- Czy to wszystko? - Aktualnie tak. Możesz także określić liczbę elementów za pomocą metody size() . - A co z mapą ? - Mapa to zestaw par. To ten sam zestaw, nie pojedynczych elementów, ale par klucz-wartość. Jedynym ograniczeniem jest topierwszy obiekt w parze, który nazywa się kluczem, ma być unikalny . Mapa nie może zawierać dwóch par z tymi samymi kluczami. - Oto, co możemy zrobić z Mapą : Stary poziom 08 - 16- To jest o wiele bardziej interesujące niż zestaw. - Tak, chociaż Mapa nie jest tak popularna jak lista, służy do wielu zadań.

8 zadań Diego, ustaw i mapuj

- Mam nadzieję, że już się nauczyłeś, czym są Zestaw i Mapa? Oto kilka zadań związanych z ustawianiem i mapowaniem.
Zadania zbierania
1 1. 20 słów zaczynających się na «L»
Utwórz zbiór napisów ( Set<String> ), umieść w nim 20 słów na literę «L».
2 2. Usuń wszystkie liczby większe niż 10
Utwórz zbiór liczb ( Set<Integer> ), umieść w nim 20 różnych liczb.
Usuń ze zbioru wszystkie liczby większe od 10.
3 3. Identyczne imiona i nazwiska
Utwórz słownik ( Map<String, String> ) i dodaj dziesięć wpisów zgodnie z modelem «nazwisko» - «imię». Sprawdź, ile osób ma takie samo imię lub nazwisko jak podane imię.
4 4. Usuń wszystkie osoby urodzone latem
Stwórz słownik ( Mapa<String, Date> ) i dodaj dziesięć wpisów według wzoru «ostatnia grzywa» - «data urodzenia». Usuń z mapy wszystkie osoby urodzone latem.
5 5. Usuń osoby o tym samym imieniu
Utwórz słownik ( Map<String, String> ) i dodaj dziesięć wpisów zgodnie z modelem «nazwisko» - «imię». Usuń osoby o tym samym imieniu.

9 Profesor, Wykład o zbiorach

Stary poziom 08 - 17- Haw Haw. W końcu dotarliśmy do zbiorów. Do dziś mam wspaniały wykład z czasów studenckich. Oczywiście jest trochę zakurzony, ale zasadniczo świetny. Oto moje notatki: Java Collections (Oracle Documentation) Collections in Java (Java T point) Java Collections Framework (tutorials point) Java Collections Tutorial

10 lipca

- Dobry panie! Znowu jesteś przepracowany! Czy nie mówiłem ci, żebyś nie pracował tak dużo? Pozwól, że zagram coś, co pomoże Ci się zrelaksować:

11 kapitanów wiewiórek

- Cześć, żołnierzu! - Dzień dobry panu! - Mam dla ciebie wspaniałe wieści. Oto szybkie sprawdzenie, aby wzmocnić swoje umiejętności. Rób to codziennie, a szybko poprawisz swoje umiejętności. Zadania są specjalnie zaprojektowane do wykonywania w Intellij IDEA.
Dodatkowe zadania do wykonania w Intellij Idea
1 1. Zbiór kotów
1. Utwórz publiczną klasę statyczną Kot w ramach klasy Rozwiązanie .
2. Zaimplementuj metodę createCats() , która powinna utworzyć zbiór kotów i dodać do niego trzy koty.
3. W metodzie głównej usuń kota z zestawu Koty.
4. Zaimplementuj metodę printCats() , która powinna wyświetlić na ekranie wszystkie koty, które pozostały w zbiorze. Każdy kot powinien być na nowej linii.
2 2. Zbiór wszystkich zwierząt
1. Utwórz publiczne klasy statyczne Kot i Pies w ramach klasy Rozwiązanie.
2. Zaimplementuj metodę createCats() , która powinna zwrócić zestaw 4 kotów.
3. Zaimplementuj metodę createDogs() , która powinna zwrócić zestaw 3 psów.
4. Zaimplementuj metodę join() , która powinna zwrócić połączony zestaw wszystkich zwierząt, zarówno kotów, jak i psów.
5. Zaimplementuj metodę removeCats() , która powinna usunąć ze zbioru pets wszystkie koty znajdujące się w zestawie koty.
6. Zaimplementuj metodę printPets(), który powinien wyświetlić na ekranie wszystkie obecne w nim zwierzęta. Każde zwierzę powinno znajdować się w nowej linii.
3 3. Osoby o tych samych imionach i/lub nazwiskach
1. Utwórz słownik ( Map<String, String> ) i dodaj 10 osób według wzoru «nazwisko» - «imię».
2. Wśród tych 10 osób niech znajdą się osoby o tych samych imionach.
3. Wśród tych 10 osób niech znajdą się osoby o tych samych nazwiskach.
4. Wyświetl na ekranie zawartość Mapy .
4 4. Minimum N liczb
1. Odczytaj z klawiatury numer N .
2. Odczytaj z klawiatury N liczb całkowitych i wypełnij nimi listę za pomocą metody getIntegerList() .
3. Znajdź minimalną liczbę elementów listy za pomocą metody getMinimum() .
5 5. Zatrzymaj się, popatrz, posłuchaj. Teraz pisane wielką literą
Napisz program, który powinien odczytać ciąg znaków z klawiatury.
Program powinien zamienić pierwsze litery wszystkich wyrazów w tekście na wielkie.
Wyświetl na ekranie wynik.

Przykładowe dane wejściowe:
przestań patrzeć słuchaj
Przykładowe dane wyjściowe:
przestań patrzeć słuchaj
6 6. Cała rodzina jest razem
1. Utwórz klasę Człowiek z polami: String name , boolean sex , int age , ArrayList<Human> children .
2. Stwórz 9 obiektów i wypełnij je tak, aby uzyskać dwóch dziadków, dwie babcie, ojca, matkę i troje dzieci. 3. Wyświetl na ekranie wszystkie obiekty ludzkie .
7 7. Przenieś jeden modyfikator statyczny
Przesuń jeden modyfikator statyczny, aby kod się skompilował.
8 8. Pięć największych liczb
Utwórz tablicę 20 liczb. Wypełnij go liczbami odczytanymi z klawiatury. Wyświetl na ekranie pięć największych liczb.
9 9. Praca z datą
1. Zaimplementuj metodę isDateOdd(String date) tak, aby zwracała true, jeśli liczba dni od początku roku jest nieparzysta, w przeciwnym razie zwraca false.
2. String data przekazywana jest w formacie 1 MAJA 2013

1 STYCZNIA 2000 → prawda
2 STYCZNIA 2020 → fałsz
- Te zadania były dla zielonych. Dodałem dodatkowe zadania o większej złożoności. Tylko dla najlepszych dział.
Zadania bonusowe
1 1. Numer miesiąca.
Program powinien odczytać z klawiatury nazwę miesiąca i wyświetlić na ekranie jego numer w następujący sposób: « Maj to 5 miesiąc »
2 2. Dodaj nową funkcjonalność do programu.
Stare zadanie: Program ustala, która rodzina (jej nazwisko) mieszka w domu o podanym numerze.
Nowe zadanie: Program powinien działać z miastami, a nie z numerami domów.

Przykładowe dane wejściowe:
Washington
Smiths
Nowy Jork
Browns
Londyn
Johnsons

Londyn

Przykładowe dane wyjściowe:
Johnsons
3 3. Uczenie się i ćwiczenie algorytmu.
Zadanie: Program powinien odczytać z klawiatury 20 słów i wyświetlić je w porządku alfabetycznym.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION