Nie wyższe nie wykształcenie
Zadajmy sobie pytanie: po co ludzie wchodzą na studia? Zapamiętaj to proste zdanie: jeśli nie będziesz się dużo uczyć, całe życie będziesz kelnerem. Można nawet pomyśleć, że wszyscy ludzie, którzy wybierają się na studia wyższe, nienawidzą bycia kelnerami. Więc czego oni chcą? Chcą pracy po przeciwnej stronie społecznej niż kelner. Ludzie idą na uczelnie, aby dostać dobrze płatną pracę z wysokimi kwalifikacjami! Żeby mogli kupić dom i samochód. Zdobądź wszystko; przynajmniej czasami (definicja klasy średniej). Ludziom wydaje się, że wyższe wykształcenie gwarantuje dobrze płatną pracę z wysokimi kwalifikacjami. Nie. Ale uczelnie milczą na ten temat, a my wciąż myślimy magicznie: „Kiedy skończę studia, dostanę dobrą pracę”. 5 lat na dobrej uczelni nie przybliży Cię ani o cal do „dobrej pracy”. Dlatego:1. Nauczyciele na uczelniach nie nauczą Cię bycia dobrym specjalistą.
Odpowiedz sobie wprost: ludzie, którzy cię uczą, pracują na uczelniach i zarabiają skromnie, prawda? Dzieje się tak dlatego, że nie kwalifikują się na dobre stanowiska na rynku pracy. Brakuje im doświadczenia i kwalifikacji. Ci, którym tego nie brakuje – odchodzą. Inaczej jest na najlepszych uczelniach świata, ale nie o nich teraz mówimy. Jaka jest Twoja opinia: czy odnoszący sukcesy specjalista ds. finansów będzie pracował w banku zarabiającym 150 000 USD rocznie, czy też będzie wykładał w college'u, w którym zarabia się 60 000 USD rocznie? Często zdarza się, że luzacy-profesjonaliści uczą na uczelniach, bo nie mogli znaleźć innej pracy. Są wyjątki, ale są one rzadkie. Spotkałem dobrych nauczycieli na uczelniach, oni naprawdę tam istnieją. Ale to nawet nie jest mniejszość, jest ich bardzo niewielu. Dobry nauczyciel nie tylko daje ci teorię, ale podkreśla praktyczną stronę swojego przedmiotu.2. Nauczyciele na większości uczelni chwalą naukę, ale gardzą profesjonalną realizacją
Źródeł tego należy szukać w fakcie, że większość nauczycieli zawiodło jako profesjonaliści. A jedynym sposobem na znalezienie wymówki jest to, że realizacja zawodowa jest niegodnym zajęciem. Jeśli chodzisz na wykłady, a potem uczestniczysz w konferencjach naukowych – jesteś super. A jeśli dużo pomijasz, ponieważ pracujesz – cóż, otrzymujesz zupełnie inne traktowanie. Nauczyciele są jak pustelnicy. Zawód jest dla nich marnością nad marnościami. Poświęcili się służbie boskiej nauce i całymi dniami modlą się, by pisać artykuły naukowe. Może cel jest szlachetny, ale w prawdziwym życiu jest bezużyteczny.3 Zły etalon porównania.
Studenci często porównują się do uczniów szkoły i są dumni z tego, że są lepsi. To złudzenie trwa, dopóki człowiek nie zacznie myśleć o znalezieniu pracy i nie odwróci wzroku w inną stronę. W rzeczywistości, gdyby studenci porównali się z pracującymi specjalistami, zobaczyliby, że zbliżają się do celu małymi kroczkami. Nie bądź przeciętny na studiach. Ponieważ jeśli zrobisz „jak wszyscy”, uzyskasz wynik „wszyscy”. Większość studentów na studiach to przypadkowi ludzie, którzy tak naprawdę nie mają innych opcji. Być może rodzice zmusili ich do podjęcia studiów i nie mają bladego pojęcia o swoim przyszłym zawodzie. To się często zdarza. Nie porównuj się do swoich kolegów. Twoje ukończone projekty i sukcesy zawodowe będą najlepszymi kryteriami Twojej wiedzy i umiejętności. Nie porównuj się do „tłumu bez twarzy”;4 Studia zawodowe to tylko niewielka część wiedzy, którą zdobywa się na studiach.
Kiedy przyjdziesz do pracy, zostaniesz zapytany, co potrafisz, a nie czego się nauczyłeś. Twój szef będzie zainteresowany tym, co wiesz i potrafisz zrobić na liście wymagań do pracy: dostajesz konkretne zadanie, ale nie dostajesz wyjaśnień, jak to zrobić, a on oczekuje wyników w odpowiednim czasie. Powodzenia! Uczysz się historii na studiach, a będziesz pracować jako operator banku – czy to przybliża Cię do celu czy oddala? Technicznie wiesz więcej. Czy to znaczy, że zbliża? Ale tak naprawdę z każdym semestrem masz coraz mniej czasu na zdobycie cennej wiedzy zawodowej, a jej ilość pozostaje taka sama. A więc praktycznie – jesteś dalej od celu.5. Uczelnia nie stawia sobie za cel „uczynienia z ciebie wysoko wykwalifikowanego specjalisty”.
Trudno trafić do celu, gdy się go nie celuje. Na studiach robią z ciebie wszechstronnego specjalistę. Otrzymujesz coś w rodzaju „drugiego wykształcenia średniego”. Zapominają tylko wspomnieć, że osoba, która studiuje wszystko, nie wie nic. Czy pamiętasz trzy cele uczelni: nauka, kształcenie ogólne i kształcenie zawodowe? Jak myślisz, co trzeba było wyciąć, aby dodać naukę i kształcenie ogólne? Po prawej: dyscypliny zawodowe. Czy nadal uważasz, że celem uczelni jest uczynienie z Ciebie wysoko wykwalifikowanego specjalisty?6. Jeśli ktoś studiuje więcej niż dwa przedmioty na raz, to marnuje czas.
Wydaje się to niewłaściwe po edukacji szkolnej. Prawdę o tym poznajesz tylko w pracy. Lekcje w szkole są tak krótkie nie dlatego, że są efektywne, ale dlatego, że uczeń-uczeń to jeszcze dziecko, nie potrafi się skoncentrować dłużej niż godzinę. Ale często przełączanie między zadaniami uniemożliwia mózgowi efektywne myślenie. W pracy będziesz musiał zachowywać się jak dorosły, a przełączanie się między zadaniami często znacznie obniży Twoją wydajność. Jak myślisz, dlaczego możesz szybko przygotować się do egzaminów? Po prostu nie wykonujesz wielu zadań jednocześnie, a Twoja efektywność wzrasta z czasem. Uczenie się czegoś w małych kawałkach jest całkowicie głupie. Wyobraź sobie, że jesteś na diecie tylko sześć godzin tygodniowo – jak szybko pojawią się rezultaty?7. Na studiach człowiek tylko nieznacznie dotyka tematu.
Załóżmy, że studiujesz coś przez dwa semestry. Masz dwa wykłady i dwa zajęcia praktyczne w tygodniu. To jakieś poważne podejście jak na studia. Więc ile godzin to daje? Cztery zajęcia to 2 godziny akademickie (1,5 zwykłej godziny) – czyli 6 godzin tygodniowo. Studiujemy przez cztery miesiące w pierwszym semestrze: wrzesień, październik, listopad i grudzień. W drugiej jeszcze 4: luty, marzec, kwiecień, maj. W sumie: 8 miesięcy, po 4,5 tygodnia każdy. 6 godzin tygodniowo. To daje 216 godzin rocznie. Żebyście wiedzieli, moi drodzy studenci, że w miesiącu jest 180 godzin pracy. Dowolnego kursu rocznego można się nauczyć w półtora miesiąca, a jeśli naprawdę chcesz (lub potrzebujesz) w miesiąc.8. Uczysz się najbardziej ogólnej, praktycznie bezużytecznej i przestarzałej wiedzy.
Każda wiedza ma inną wartość w zależności od problemu, który masz do rozwiązania. Kiedy toniesz, umiejętność pływania jest o wiele bardziej przydatna niż kurs filozofii, którego się nauczyłeś, prawda? A jeśli dostaniesz pracę jako kasjer, umiejętność liczenia jest lepsza niż znajomość łaciny na poziomie podstawowym. Najbardziej przydatną częścią Twoich zawodowych realizacji jest bez wątpienia doświadczenie praktyczne i znajomość najnowszych osiągnięć Twojej profesji. Twój nauczyciel najprawdopodobniej nigdy nie miał praktycznego doświadczenia i nie jest zaznajomiony z najnowszymi osiągnięciami. A nawet jeśli gdzieś o nich czytał, nie ma pojęcia o ich wartości i dziedzinie, w jakiej się znajdują. Nawet jeśli nauczysz się 100 bezużytecznych przedmiotów, to nie wystarczy 10 przydatnych.9 Umiejętności praktyczne są 10 razy cenniejsze niż teoria.
W prawdziwym życiu często musisz coś ZROBIĆ w pracy. Jeśli wiesz, jak to zrobić, lub wydaje ci się, że wiesz, niekoniecznie oznacza to, że faktycznie możesz to zrobić . Wiesz, że palenie szkodzi, ale czy możesz rzucić? Wiesz, że uprawianie sportu jest właściwe, ale czy faktycznie ćwiczysz? Wiesz, że języki obce są dobre dla twojej kariery, ale czy faktycznie możesz nauczyć się kilku? W życiu liczy się tylko praktyka. Im więcej wiedzy posiadasz bez praktyki, tym mniejsza jest ich wartość. Jak zamierzasz zdecydować, która wiedza jest błędna, stara, niewłaściwie używana, a która naprawdę działa? Nigdy o tym nie myślałeś? Witamy w prawdziwym świecie. Możesz nauczyć się przepisów ruchu drogowego na A lub B, ale nadal nie będziesz mógł prowadzić. Teoria jest dobrym gruntem dla praktyki. Załóżmy, że budujesz ścianę: cegły to praktyka, zaprawa to teoria. Bez fugi (teoria) ściana będzie niestabilna, ale bez cegieł (praktyka) twoja teoria jest bezużyteczna. A więc Panowie podzielcie swoje 5 lat na studiach przez 10. Pół roku – to jest prawdziwy efekt Waszego wieloletniego „wysiłku”. Chcesz dowód? Kiedy dostaniesz pracę i będziesz pracować przez pół roku, zobaczysz, że twoja wiedza na studiach podwoiła się .Osiągnąłeś nowy poziom
Poziom 10
1 Elly, O mocnym typowaniu obiektów
- Hej, Amigo! - Hej, Elli! - Jestem dzisiaj w wesołym nastroju, więc powiem ci coś bardzo ciekawego. Zacznę od typów pierwotnych w Javie. - W Javie każdy obiekt i każda zmienna ma zakodowany na stałe niezmienny typ. Typ zmiennej określany jest podczas kompilacji programu, typ obiektu - podczas jego tworzenia. Typ nowo utworzonego obiektu i/lub zmiennej pozostaje taki sam przez cały okres ich istnienia. Przykład: - Ale jest kilka interesujących szczegółów, o których powinieneś pamiętać. - Po pierwsze, zmienna referencyjna nie zawsze przechowuje obiekt tego samego typu, co jej własny typ. - Po drugie, w interakcji zmiennych dwóch różnych typów, muszą one najpierw zostać przekształcone do wspólnego typu. - A co z podziałem? Jeśli podzielimy 1 przez 3, otrzymamy 0,333(3). prawda? - Nie, nie jest. Kiedy dzielisz dwie liczby całkowite, wynikiem jest również liczba całkowita. Jeśli podzielisz 5 przez 3, odpowiedź to jeden i dwa w pozostałej części. Pozostała część jest zatem odrzucana. - Jeśli podzielisz 1 przez 3, otrzymamy 0 (i 1 – reszta jest odrzucana). - Co powinienem zrobić, jeśli nadal chcę uzyskać 0,333? - W Javie przed podzieleniem dwóch liczb całkowitych najlepiej rzucić jedną z nich na typ rzeczywisty (ułamkowy) mnożąc ją przez liczbę rzeczywistą 1.0 . - Rozumiem.2 Risha, Lista podstawowych typów
- Hej, Amigo! - Hej, Risza! - Poznałeś już podstawy składni języka Java, ale chcę ci powiedzieć kilka rzeczy bardziej szczegółowo. - Dzisiaj opowiem trochę o prymitywnych typach io tym, ile zajmują pamięci. Będziesz go potrzebować, a może nawet dzisiaj. Te typy to: - Wyszczególnię każdy typ. - Bajt typu jest najmniejszym typem liczb całkowitych. Każda zmienna tego typu zajmuje tylko jeden bajt pamięci. Może więc przechowywać wartości z zakresu od -128 do 127. - Po co nam taki mały typ? Dlaczego nie używać int wszędzie? - Możesz to zrobić. Ale jeśli tworzysz ogromne tablice i nie musisz przechowywać tam wartości większych niż 100, to dlaczego nie użyć tego typu? Czy mam rację? - Typ krótkijest dwa razy dłuższy niż bajt typu i również przechowuje tylko liczby całkowite. Największa liczba, która się w nim mieści, to 32767. Największa liczba ujemna to -32768. - Znasz już typ int . Może przechowywać liczby całkowite do dwóch miliardów, zarówno dodatnie, jak i ujemne. - Typ float jest tworzony do przechowywania liczb rzeczywistych (ułamkowych). Jego rozmiar to 4 bajty. - Wszystkie liczby ułamkowe są przechowywane w pamięci w bardzo ciekawej formie. - Na przykład 987654,321 może być reprezentowane jako 0. 987654321 *10 6 . Dlatego w pamięci jest reprezentowany jako dwie liczby «0. 987654321 » ( znaczenie ) i « 6 » (wykładnik - potęga dziesięciu ) - Dlaczego to takie trudne? - Taka wewnętrzna struktura zmiennej pozwala na przechowywanie znacznie większych liczb niż int, zajmując tylko 4 bajty. Ale w ten sposób rezygnujemy z dokładności. Część pamięci jest wykorzystywana do przechowywania wykładników, więc liczby ułamkowe mają tylko 6-7 cyfr po przecinku, a reszta jest odrzucana. - Te liczby są również nazywane liczbami zmiennoprzecinkowymi . Nawiasem mówiąc, stąd nazwa typu – float . - Widzę. - Typ double jest tym samym typem co float , ale dwa razy (podwójnie) dłuższy - zajmuje osiem bajtów.Maksymalny rozmiar wykładnika i liczba cyfr znaczących w tym typie są większe. Użyj tego typu, jeśli chcesz przechowywać liczby rzeczywiste. - Typ char jest typem hybrydowym. Jej wartości można interpretować zarówno jako liczby (które można dodawać i mnożyć), jak i jako znaki. Zrobiono to, ponieważ chociaż postacie mają wizualną reprezentację, dla komputera są tylko liczbami. O wiele łatwiej jest używać ich jako liczb. Jest jeszcze jeden komentarz: typ char jest ściśle dodatni. Nie może przechowywać wartości ujemnych. - Typ boolean jest typem logicznym, może przechowywać tylko dwie wartości: true i false . — Typ obiektu, choć przedstawiony w tabeli, nie jest typem pierwotnym. Jest to klasa bazowa dla wszystkich klas w Javie. Po pierwsze, wszystkie klasy są uważane za dziedziczone z tej klasy i dlatego zawierają jej metody. Po drugie, można mu przypisać odwołania do obiektów dowolnego typu. W tym odwołanie zerowe . - Wiele się nauczyłem. Dzięki za wykład, Rysiu.3 Elly, Konwersja typu. Typ rozszerzający i zwężający.
- I tu zaczyna się zabawa. Opowiem ci o konwersji typu. Chociaż typy zmiennych są zawsze takie same, istnieje miejsce, w którym można konwertować typy. To zadanie . - Możesz przypisywać sobie zmienne różnych typów. W ten sposób wartość pobrana ze zmiennej jednego typu zostanie przekonwertowana na wartość innego typu i przypisana do drugiej zmiennej. - Są więc dwa rodzaje konwersji: poszerzająca i zwężająca. Poszerzenie to jak przenoszenie rzeczy z małego kosza do większego - operacja przebiega płynnie i bezproblemowo . Zwężanie przypomina wkładanie rzeczy z dużego kosza do mniejszego: może zabraknąć miejsca i trzeba będzie coś wyrzucić. - Oto typy posortowane według rozmiaru «koszyka»: - Jest kilka komentarzy:- char jest tym samym „koszykiem” co short , ale jest jeden punkt: podczas kopiowania wartości z short na char wartości mniejsze niż 0 są odrzucane. Podczas kopiowania z char na short wartości większe niż 32 767 są odrzucane.
- Podczas konwersji liczb całkowitych na ułamki, cyfry niższego rzędu mogą zostać odrzucone. Ale ponieważ liczba ułamkowa ma przechowywać przybliżoną wartość, to takie przypisanie jest dozwolone.
4 Diego, Zadania konwersji typu Integer
- Hej, Amigo! Oto twoje zadania dotyczące konwersacji typów całkowitych. Musisz umieścić operatora rzutowania tam, gdzie jest to potrzebne, aby program się skompilował:Zadania | |
---|---|
1 | 1. Wpisz bajt rzutowania i konwersacji a = 1234; int b = a; bajt c = a * a; int d = a / c; |
2 | 2. Wpisz rzut i konwersację int a = 15; int b = 4; zmiennoprzecinkowy c1 = a / b; zmiennoprzecinkowy c2 = (zmiennoprzecinkowy) a / b; zmiennoprzecinkowy c3 = (zmiennoprzecinkowy) (a / b); |
3 | 3. Wpisz rzut i konwersację zmiennoprzecinkową f = 333,50; int i = f; bajt b = i; |
4 | 4. Wpisz obsadę i krótki numer konwersacji = 9; znak zero = „0”; znak dziewięć = zero + liczba; |
5 | 5. Wpisz obsadę i krótki numer konwersacji = 9; znak zero = „0”; krótki dziewięćKod = zero + liczba; |
5 Elly, Konwersja do typu String
- Teraz zajmiemy się małym, ale ciekawym tematem - konwersją napisów. - W Javie możesz przekonwertować dowolny typ danych na typ String. - Brzmi obiecująco. - Właściwie to nawet lepiej. Możesz niejawnie przekonwertować prawie wszystkie typy na String. Najlepiej widać to po dodaniu dwóch zmiennych: String i «non-String». W takim przypadku zmienna inna niż Łańcuch jest wymuszana konwertowana na Łańcuch. - Tutaj spójrz na kilka przykładów: Wniosek: Jeśli dodamy String do dowolnego innego typu, drugi obiekt zostanie przekonwertowany na String. - Zwróć uwagę na czwarty rząd tabeli. Wszystkie operacje są wykonywane od lewej do prawej, więc dodawanie 5 + „\u0000” występuje jako dodawanie liczb całkowitych. - Więc jeśli napiszę kod taki jak String s = 1+2+3+4+5+"m" , to otrzymam s = "15m" ? - Tak. Najpierw liczby zostaną dodane, a następnie przekonwertowane na ciąg znaków.6 Diego, Zadania dotyczące konwersji typów w ogóle
- A teraz mały wykład Diego. Krótko i na temat typów referencyjnych. - Do tej pory zaczynamy od zmiennej typu Object. Tej zmiennej można przypisać odwołanie dowolnego typu ( rozszerzenie typu ). Aby wykonać odwrotne przypisanie ( zawężanie typów ) musimy jawnie określić operator rzutowania: - Nie ma żadnych zmian w obiekcie, gdy zmienia się odwołanie do niego. Zawężenie typu i poszerzenie typu przy przypisaniu polega na sprawdzeniu zgodności typu zmiennej referencyjnej i typu obiektu. - Wow, teraz jest dużo jaśniej. Dziękuję, Diego. - Aby uniknąć błędów, jak w przykładach , istnieje sposób, aby dowiedzieć się, jaki typ jest przechowywany w zmiennej typu Object : - Lepiej przeprowadzić taką kontrolę przed każdym zawężeniem typu, jeśli typ przechowywanego obiektu jest zupełnie nieznany. - Rozumiem.7 Elly, Prawdziwe typy
- Oto kilka interesujących rzeczy na temat typów rzeczywistych (czyli ułamkowych). Zacznijmy od tego przykładu: - W wyniku tego obliczenia wartość f równa się… zero! - Risha powiedziała mi coś takiego... - Och, naprawdę? To jest dobre. Praktyka czyni mistrza. - W rzeczywistości nie ma błędu w przykładzie. Gdy jedna liczba całkowita jest dzielona przez inną liczbę całkowitą , wynikiem jest również liczba całkowita; reszta z dzielenia jest po prostu odrzucana. Aby tego uniknąć, upewnij się, że co najmniej jedna z dwóch liczb biorących udział w dzieleniu jest ułamkowa. - Jeśli jedna z liczb jest ułamkowa, druga liczba jest najpierw konwertowana na typ ułamkowy, a następnie następuje dzielenie. - Oto jak możemy rozwiązać ten problem: - A co jeśli w dzieleniu biorą udział zmienne? - Potem idzie to tak: - Ale to nie wygląda dobrze. Czy istnieje wygodniejszy operator dzielenia? - Nie, to wszystko. - No dobrze, myślę, że nie będzie problemu.8 Elly, Literały
- I na koniec profesorski wykład Rishy, który jest całą masą bezużytecznych informacji. Wszyscy wykładowcy to uwielbiają. To może wydawać się trudne do zrozumienia dla ciebie. Więc po prostu spójrz i nie myśl o tym zbyt wiele. - OK, więc jestem gotowy. - Dzisiaj powiem ci, czym są literały . Literały to wszystkie dane przechowywane bezpośrednio w kodzie Java. Przykłady: - W rzeczywistości jest więcej literałów. Za pomocą literałów można ustawić wartości dowolnego znanego typu: - Innymi słowy, kod to metody, klasy, zmienne... a literały to określone wartości zmiennych przechowywanych bezpośrednio w kodzie. Czy dobrze rozumiem? - Tak. - Cienki. Wreszcie otrzymuję obraz całej tej Javy.9 Profesor, Wykład o typach
- Świetnie! Na koniec mój ulubiony temat - konwersja typów. Pamiętam nawet, kiedy mój profesor mi o tym powiedział. To było bardzo „fascynujące”. Nic wtedy nie rozumiałem. Ale oczywiście wszystko zrozumiesz dzięki tym niesamowitym wykładom. Oto one: Konwersje i promocje Java (dokumentacja Oracle) Rzutowanie typu danych (konwersja typu) Cast i konwersje Java Konwersje poszerzające i zawężające10 lipca
- Wow! Cóż, jesteś naprawdę mądry, Amigo! Tyle rzeczy nauczyłem się w ciągu zaledwie dwóch tygodni! Jesteś jak potwór. Swoją drogą, co powiecie na trochę zabawy po dwóch tygodniach niewolniczej pracy?11 kapitanów wiewiórek
(- Pomogłem ci. Zrób to w domu.) Praca domowa (10 jednostek) - 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. Prawidłowa odpowiedź to: d=2,941 Dodaj jednego operatora odlewania typu, aby otrzymać d = 2,941 |
2 | 2. Prawidłowa odpowiedź to: d=5,5 Dodaj jednego operatora rzutowania typów, aby otrzymać d=5,5 |
3 | 3. Prawidłowa odpowiedź to: d=1,0 Dodaj jednego operatora rzutowania, aby otrzymać d = 1,0 |
4 | 4. Duża pensja Wyświetl na ekranie komunikat „Nie chcę studiować Javy, chcę dużą pensję” 40 razy zgodnie z przykładem. Przykład: nie chcę uczyć się Javy, chcę dużej pensji nie chcę uczyć się Javy, chcę dużej pensji nie chcę uczyć się Javy, chcę dużej pensji lub nie chcę uczyć się Javy, chcę dużo pensja nie chcę uczyć się Javy, chcę dużej pensji nie chcę uczyć się Javy, chcę dużej pensji … |
5 | 5. Liczba liter Odczytaj z klawiatury 10 ciągów znaków i policz, ile jest w nich różnych liter (dla wszystkich 26 liter alfabetu). Wyświetl wynik na ekranie. Przykładowe wyjście: a 5 b 8 c 3 d 7 … z 9 |
6 | 6. Konstruktorzy klasy Człowiek Napisz klasę Człowiek z 6 polami. Wymyśl 10 różnych konstruktorów i zaimplementuj je. Każdy konstruktor powinien mieć znaczenie. |
7 | 7. Przenieś jak najmniej modyfikatorów statycznych Przenieś jak najmniej modyfikatorów statycznych, aby kod się skompilował. |
8 | 8. Tablica list ciągów Utwórz tablicę, której elementami są listy ciągów. Wypełnij tablicę dowolnymi danymi i wyświetl je na ekranie. |
9 | 9. Identyczne słowa na liście Odczytaj z klawiatury 20 słów, uzupełnij nimi listę. Policz liczbę identycznych słów na liście. Wynikiem powinna być mapa <String, Integer> . Kluczem mapy powinien być unikalny ciąg znaków, wartość - liczba tego ciągu znaków na liście. Wyświetlanie na ekranie zawartości mapy. |
10 | 10. Pięć największych liczb Utwórz listę liczb całkowitych. Odczytaj z klawiatury 20 liczb całkowitych i uzupełnij nimi listę. Utwórz metodę bezpiecznego wyodrębniania liczb z listy: int safeGetElement(ArrayList<Integer> list, int index, int defaultValue) Metoda powinna zwrócić element listy według jego indeksu. Jeśli w tej metodzie wystąpi wyjątek, musisz go przechwycić i zwrócić defaultValue . |
Zadania bonusowe | |
---|---|
1 | 1. Program nie kompiluje się i nie uruchamia. Napraw to. Zadanie: Program pokazuje, jak działa HashMap. Program odczytuje z klawiatury zestaw par (liczbę i ciąg znaków), umieszcza je w HashMap i wyświetla na ekranie zawartość HashMap. |
2 | 2. Dodaj nową funkcjonalność do programu. Stare zadanie: Program powinien wyświetlić parę (liczbę i ciąg znaków) wprowadzoną z klawiatury. Nowe zadanie: Program powinien przechowywać w parach HashMap (liczba i ciąg znaków) wprowadzonych z klawiatury. Pusty łańcuch oznacza koniec wprowadzania. Numery mogą się powtarzać. Stringi są zawsze wyjątkowe. Wprowadzone dane nie mogą zostać utracone! Program powinien wyświetlić zawartość HashMap na ekranie. Przykładowe wejście: 1 Stop 2 Spójrz Przykładowe wyjście: 1 Stop 2 Spójrz |
3 | 3. Uczenie się i ćwiczenie algorytmu. Zadanie: Odczytaj z klawiatury 30 cyfr. Wyświetl na ekranie 10. i 11. liczbę minimalną. Wskazówka: minimalna liczba to pierwsze minimum. Następne minimum to drugie minimum Wyjaśnienie 1: 1 15 6 63 5 7 1 88 Pierwsze minimum to 1 Drugie minimum to 1 Trzecie minimum to 5 Czwarte minimum to 6 Wyjaśnienie 2: 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 36 0 6 9 39 42 78 12 15 3033 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 21 24 27 69 36 0 18 21 6 27 9 39 42 78 12 33 63 66 3 81 84 87 45 15 30 48 51 54 57 60 72 75 24 Pierwsze minimum to 0 Drugie minimum to 3 ... Dziesiąte minimum to 27 Jedenaste minimum to 30 Przykładowe dane wejściowe: 36 0 6 9 39 42 78 12 15 30 33 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 21 24 27 Przykładowe wyjście: 27 30 |
GO TO FULL VERSION