Skocz do zawartości

*.jar

Zasłużony
  • Liczba zawartości

    441
  • Dotacje

    0,00 zł 
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Zawartość dodana przez *.jar

  1. Jak wielkie zamieszanie w sieci potrafi wywołać niewielka w gruncie rzeczy grupa osób przekonuje się właśnie Valve. Firma podjęła decyzję o zakończeniu wsparcia przez platformę Steam dla systemów Microsoft Windows XP i Windows Vista. Informację o tym znaleźć można na stronie pomocy Steama. Wsparcie kończone jest w najbrutalniejszy z możliwych sposobów - użytkownicy tych systemów stracą wkrótce dostęp do Steama, bo... nie uruchomią go. Oczywiście szybko znalazła się grupka oburzonych osób, będących użytkownikami dwóch archaicznych już jak na obecne czasy systemów Microsoftu. Co ciekawe, temat podchwyciła nawet polska prasa, która w obronę wzięła "biednych graczy". "Gracze na XP oraz Viście już niebawem poczują się jak klienci drugiej kategorii." - wieści nagłówek w artykule na największym polskim blogu technologicznym. Czy faktycznie jest tak źle? Oczywiście, że nie. Wystarczyłoby przed sformułowaniem takiej wypowiedzi zerknąć na statystyki platformy Steam, które są przecież ogólnodostępne. Wiecie jaki odsetek użytkowników Steama stanowią korzystający z Windowsa XP? 0.22%. Niewiele? Cóż, z Visty korzysta jeszcze mniej graczy i ci nie są nawet ujęci w statystykach użytkowania. Trudno jest więc spodziewać się, że gigant świata gier będzie tracił czas i zasoby na dostosowywanie coraz nowocześniejszej aplikacji pod kątem systemów sprzed ponad... 15 lat! Zmiany nie są podyktowane z resztą wyłącznie fanaberią twórców Steama i nie są motywowane wyłącznie pobudkami ekonomicznymi. Wiele technologii i systemów bezpieczeństwa wprowadzonych na nowszych wersjach systemów Windows nie działa na starszych. Wsparcie dla systemów Windows XP i Windows Vista Valve zakończy w styczniu 2019 roku. Czy ktoś z Was korzysta w ogóle jeszcze z tych wersji Windowsa? Jeśli tak, to dlaczego?
  2. Musisz pobrać program Roccat'a, żeby móc zrobić tzw. "key remap". Tutaj masz link: https://www.roccat.org/pl-PL/Support/Downloads/
  3. Wiadomość została wygenerowana automatycznie. Ten temat został oznaczony przez Moderatora jako spam i wyrzucony do -> archiwum. [!] Jeśli się z tym nie zgadzasz, raportuj ten post, a moderatorzy forum rozpatrzą go ponownie.
  4. Ja to jestem zdziwiony, jak to we wrześniu 2017 każdy narzekał na iPhone X jaki beznadziejny Notch, aparaty pionowo zamiast poziomo itp. A teraz? Wystarczy popatrzeć na większość telefonów z Androidem Według mnie Xiaomi stara się jak może wybić się tak bardzo jak Samsung, Apple czy inni wiodący producenci telefonów, ale ze względu na beznadziejne działanie swoich sprzętów nadrabiają to niską marżą, a co za tym idzie ceną. Sam znam wiele osób, które używają Xiaomi i narzekają na sposób ich funkcjonowania. Na początku jest świetnie, wszystko takie genialne, nakładka na Jądroida taka zajebista (i w sumie fakt, że jest spoko ta nakładka), a po pół roku? Telefon "flagowy" od Xiaomi staje się przyczyną stresu i agresji wśród jego użytkowników Stanowczo odradzam te telefony. Lepiej dać te 3k za iPhone czy Samsung czy innego flagowca niż kupować za 1000 zł szrota i się stresować. A i tak telefon rzadko wymieniamy więc przeliczając te 3000 na uznajmy 2 lata użytkowania to kwota nie wychodzi powalająca.
  5. Koniec tajemnic. Smartfony Xiaomi Mi 8 oraz Xiaomi Mi 8 SE zostały oficjalnie zaprezentowane w trakcie konferencji chińskiego producenta. Zadebiutowała na niej także najnowsza wersja opaski sportowej, Xiaomi Mi Band 3. Xiaomi Mi 8 i Mi 8 Explorer Edition Xiaomi Mi 8 korzysta z 6.21-calowego ekranu AMOLED produkcji Samsunga, z charakterystycznym "notchem" i rozdzielczością 1080x2248 pikseli (proporcje 18.7:9). Jego jasność wynosi ok. 600 cd/m2, a współczynnik kontrastu to 60000:1. Producent w trakcie pokazu bardzo mocno akcentował krzywiznę obudowy, która posiada ponoć najsmuklejszą i najładniej zaokrągloną ramkę na rynku. Czytnik linii papilarnych został umieszczony w tylnej części obudowy. O wydajność smartfonu dba Snapdragon 845, który pozwolił Xiaomi Mi 8 osiągnąć w benchmarku AnTuTu rekordowy wynik 301 472 punktów. Wewnątrz znajdziemy także 6/8 GB pamięci RAM oraz 128/256 GB pamięci na dane. Producent bardzo mocno akcentował możliwości oferowane przez podwójną kamerkę 12 Mpix (IMX363, f/1.8, pikseli 1.4 µm) + 12 Mpix (S5K3M3, f/2.4, 1.0 µm). Xiaomi chwali się funkcjami AI oraz specjalnym trybem fotografii portretowej 3D, pozwalającym ustawić wirtualne sztuczne oświetlenie i pozwalające doświetlić twarz z dowolnej strony. Możliwości fotograficzne smartfona zostały ocenione na 105 punktów w teście DxOMark Mobile. Dla porównania, Xiaomi Mi Mix 2S, podobnie jak iPhone X, otrzymały 101 punktów. Niestety testy te są opłacane przez producentów i nie są miarodajne, więc do momentu własnych testów nie ogłosimy Wam rewolucji fotograficznej w kamerach Xiaomi. Z przodu znalazło się miejsce na pojedynczą kamerkę o rozdzielczości 20 Mpix i obiektywem f/2.0. Producent chwali się tu pikselem wielkości aż 1.8 µm, lecz ten powstaje w efekcie połączenia kilku mniejszych pikseli w całość. W specjalnej edycji smartfona, czyli Xiaomi Mi 8 Explorer Edition znajduje się także system rozpoznania twarzy wykorzystujący podczerwień, który pozwoli skutecznie odblokować smartfona twarzą nawet w zupełnych ciemnościach. Specjalna wersja Mi 8 otrzyma także czytnik linii papilarnych umieszczony pod ekranem. Xiaomi Mi 8 zaoferuje ulepszony moduł GPS, współpracujący także z systemem Galileo. Producent zapowiedział również swoją własną odpowiedź na animoji, czyli trójwymiarowe emotki, których mimika odpowiadała będzie mimice twarzy użytkownika urządzenia. Urządzenie zasilane przez baterię o pojemności 3400 mAh (możliwość bezprzewodowego ładowania) i szybkim ładowaniem Quick Charge 4.0, działa w oparciu o Androida 8.1 z nakładką MIUI 9. Podczas konferencji Xiaomi mocno akcentował fakt, że smartfon wspierany jest przez algorytmy sztucznej inteligencji, które pomagają mu przechwytywać lepsze zdjęcia, ale także uczyć się działań użytkownika w systemie, optymalizując tym samym jego pracę. Do wszystkich technologii AI w smartfonach zalecamy Wam jednak podchodzić z dystansem. Wymiary Xiaomi Mi 8 to 154.9 x 74.8 x 7.6 mm. Waga wynosi 175 gramów. Złącza jack 3.5 mm po raz kolejny nie ma. Cena Xiaomi Mi 8 i Xiaomi Mi 8 Explorer Edition Cena Xiaomi Mi 8 Explorer Edition w wersji z 8 GB RAM i 256 GB pamięci na dane wynosi 3699 juanów, czyli ok. 2100 złotych. Ceny Xiaomi Mi 8 wynoszą: 6 GB RAM / 64 GB – 2699 juanów (około 1550 złotych) 6 GB RAM / 128 GB – 2999 juanów (około 1730 złotych) 6 GB RAM / 256 GB – 3299 juanów (około 1900 złotych) Xiaomi Mi 8 SE Xiaomi Mi 8 SE to słabsza wersja urządzenia, wyposażona w najnowszą platformę mobilną Snapdragon 710. Smartfona charakteryzuje mniejszy wyświetlacz o przekątnej 5.88-cala, podwójna kamerka 12 + 5 Mpix oraz nieco bardziej kanciasta obudowa. Cena Xiaomi Mi 8 SE szokuje! Xiaomi Mi 8 SE kosztuje zaledwie 1799 juanów, czyli ok. 1035 złotych! To będzie przebój wśród Polaków. Xiaomi Mi 8 trafi do sprzedaży 5 czerwca, a Xiaomi Mi 8 SE - 8 czerwca. Źródło: http://www.conowego.pl/aktualnosci/xiaomi-mi-8-mi-8-se-i-xiaomi-band-3-zaprezentowane-26356/
  6. Jak ktoś z Warszawy to chętnie się spotkam na piwko w sobotę... ewentualnie osiem :)

    1. NervousReckless

      NervousReckless

      limit dzienny ? :) 

    2. *.jar

      *.jar

      Zależy czy następnego dnia będę jechać autem :D

  7. No to tak jak myślałem - Micro$hit jak zwykle aktualizacje zwalił Cieszę się, że problem rozwiązany. Przykro mi, że nie mogłem wcześniej pomóc. Close.
  8. Tak na szybko wpadło mi do głowy, że może coś aktualizacja powaliła. Od dawna to się dzieje?
  9. Wygląda na to, że ping Ci skacze tylko na początku łączenia się do serwera. Potem jest normalnie. Odczuwasz jakieś problemy w samej grze? Jeśli tak, to wpisz w cmd: ping -t 80.72.34.124 A następnie podłącz się do serwera Arena 64 TR Fragujemy.com i pograj ok. 10-20 sekund. Ważne, żeby serwer był Arena 64 TR Fragujemy.com. Jak tak pograsz to mając aktywne okno CMD wciśnij naraz ctrl+C i skopiuj zawartość CMD. Wrzuć tu w odpowiedź. Opisz też czy podczas samej gry występowały lagi.
  10. *.jar

    [KOSZ] Siemanko !

    Dzień dobry Miło Cię widzieć
  11. Spróbowałbym bezpośrednio puścić ping na adres IP, do którego się łączysz w grze (np. w CS:GO). Wnioskuję, że nieważne jaki serwer to i tak ping wyrusza w podróż po kosmosie więc otwórz sobie powershell lub CMD i wpisz: ping 80.72.34.124 Daj screenshot po zakończeniu komendy. Zrób to samo zarówno łącząc się do serwera jak i będąc po prostu w grze i z wyłączoną grą.
  12. 1. Sprawdź czy jak podłączysz się kablem do routera to problem występuje 2. Zrób speedtest podczas łączenia się do serwera csgo (jeśli problem występuje tylko w tej grze to zrób też screen speedtestu podczas łączenia się do innej gry)
  13. Wina routera. Co dokładnie robiłeś w celu rozwiązania problemu? Opisz czynności, zobaczymy o czym zapomniałeś I daj screen ze speedtestu.
  14. Patch w skrócie "Czołem, Przywoływacze. Witamy w patchu 8.9. W tym patchu przyglądamy się magom, manie i rzucaniu zaklęć. Z czasem bohaterowie, którzy potrafią czyścić fale, wygryźli wszystkich innych bohaterów ze środkowej alei, co negatywnie odbiło się na różnorodności stylów gry. Ogólnie mówiąc, spamowanie zaklęć na falach stworów zrobiło się zbyt łatwe, a przedmioty z maną, które to umożliwiają, stały się po prostu najlepszymi wyborami. Aktualizujemy podstawowe przedmioty z maną, które kupują magowie, ich podstawową manę oraz jej regenerację i więcej. Ponadto w tym i w najbliższych patchach przyjrzymy się tempu gry. Chcemy się upewnić, że będzie mniej gier, które sprawiają wrażenie przegranych, ale po prostu nie kończą się przez dłuższy czas. Pod lupę pierwsze trafią cele. Sprawiamy, że Baron będzie łatwiej dostępny, kiedy jesteście do przodu, ale też łatwiej będzie o niego walczyć w grach, w których żadna z drużyn nie ma większej przewagi. Wzmacniamy również siłę Herolda, jeżeli drużynom uda się go bezpiecznie eskortować, ale jednocześnie ułatwiamy zabicie go przez przeciwników, o ile wypatrzą ku temu odpowiednią okazję. No i na koniec przerabiamy Rozpieczętowaną Księgę Czarów. Jej stara wersja dawała głównie możliwość częstszego używania Błysku, a my chcemy spróbować stworzyć runę kluczową, która naprawdę odzwierciedli wizję zabawy z całą księgą czarów, a nie tylko z dwoma czarami przywoływacza. Zatem wyczyśćcie parę fal (ale nie za wiele), niech wasze Heroldy wyjadą kilku wieżom z dyńki i dokonajcie wymiany paru czarów przywoływacza! Dobrej zabawy i powodzenia!" Więcej informacji znajdziecie tutaj: https://eune.leagueoflegends.com/pl/news/game-updates/patch/opis-patcha-89#patch-patch-highlights
  15. Cześć, W dzisiejszym tutorialu skupimy się na programowaniu obiektowym. Jest to najważniejsza rzecz podczas nauki programowania w Javie. Niestety dla wielu jest to też najtrudniejsza rzecz. Poniżej postaram się Wam jak najlepiej i najłatwiej przedstawić podstawy programowania obiektowego. Czym jest i na czym polega obiektowy język programowania? Na samym początku musimy sobie ustalić jedną podstawową rzecz - co to jest obiektowy język programowania. Definicja książkowa mówi, że jest to język programowania, w którym najlepszą metodą pisania jest używanie metod obiektowych. Masło maślane prawda? Tłumacząc to w bardziej przystępny sposób - obiektowy język programowania polega na stworzeniu kilku obiektów, które komunikują się ze sobą. Pisałem już o tym w drugim z moich wpisów - Hello Java! Obiekty w programowaniu można podzielić na pola i metody. W programie obiektowym istnieją większe lub mniejsze zbiory takich obiektów, które komunikują się ze sobą w celu wykonania określonych zadań. Dlaczego powstało coś takiego? Na początku języki takie jak C++ wykorzystywały programowanie proceduralne. Jest to sposób programowania, gdzie dane i metody nie są bezpośrednio ze sobą powiązane. Programowanie obiektowe ma za zadanie ułatwić pisanie kodu programistom. Poza tym programowanie obiektowe jest najbardziej zgodne z rzeczywistym podejściem człowieka. Mózg interpretuje wszystko co widzi jako obiekt co pomaga mu w przetwarzaniu informacji. Czym jest klasa, metoda i obiekt? Pisałem już o klasie i metodzie, jednak zanim zaczniemy coś tworzyć obiektowego w Javie należy przyjrzeć się bliżej temu wszystkiemu i zrozumieć z czym to tak naprawdę się je. Może łatwiej będzie zrozumieć to na przykładzie, więc weźmy sobie kod z pierwszego tematu - Hello Java! public class Beginning { public static void main(String[] args){ System.out.println("Hello World"); } } Ogólnie powiedzielibyśmy, że jest to klasa Beginning z metodą main. Jednak to oznacza cała reszta? Zacznijmy od pierwszej linijki. public class Beginning Powyższa linijka informuje o tym, że jest to publiczna klasa, która nazywa się Beginning. Należy zapamiętać, że klasa zawsze zaczyna się od: class Nazwa_Klasy Poprzedzające je słowo (w naszym przypadku public) to tak zwany modyfikator dostępu. O modyfikatorach dostępu opowiem Wam później. Klasy mogą zawierać metody, zmienne lub i jedno i drugie naraz. Może rónież wystąpić sytuacja, że klasa nawet nie posiada żadnego z nich. W kolejnej linijce widzimy metodę main. public static void main(String[] args) Jak już wcześniej pisałem jest to metoda, dzięki której program może działać. To ona ustala, w którym momencie rozpoczyna się program. Omawiając powyższą metodę po kolei: public - wiemy już co to znaczy, metoda jest publiczna static - oznacza, że jest to metoda statyczna (metoda main musi być metodą statyczną!). Z wnętrza metody statycznej nie możemy odwoływać się do zmiennych i metod nie zadeklarowanych jako statyczne. void - w tym przypadku oznacza to, że metoda nie musi zwracać żadnego typu zmiennej. W przypadku innych metod, można w to miejsce wstawić int, double, String lub inny typ obiektowy String[] args - jest to parametr metody. Wszystko co znajduje się w nawiasie to parametr naszej metody. Mogą to być zarówno tablice jak i inne obiekty. Jak zdążyliście zauważyć często wspominam, że w innych metodach niż metoda main może być inaczej. Bowiem w jednej klasie możemy mieć wiele metod, niekoniecznie tylko jedną. Tak naprawdę nie ma ograniczonej liczby metod w klasie. Poniżej prosty przykład: Jeśli chodzi o schemat tworzenia takiej metody to mogliście go zauważyć już na powyższym screenie. Dokładniej wygląda to tak: specyfikator_dostepu class NazwaKlasy{ specyfikator_dostepu typ_zwracany nazwaMetody(parametry_po_przecinku){ jeśli typ zwracany jest inny niż void to trzeba użyć słówka return i zwrócić wynik odpowiadający właśnie temu typowi } } Kończąc już ten temat napiszę tylko kilka słów o obiektach. Obiekt to reprezentant danej klasy. Przechowuje on informacje o zmiennych i pozwala się do nich odwoływać. Za pomocą obiektu możemy wywoływać stworzone przez nas metody. Na przykład posiadając metodę "oblicz", możemy ją uruchomić poprzez wywołanie obiektu run. Nawet wyświetlając tekst na ekranie używając metody println() użyliśmy obiektu out do jej wywołania. Dzięki temu w konsoli pojawił się tekst. Tworzenie nowego obiektu jest wykonywane zgodnie z poniższym wzorem: specyfikator_dostepu typ_Obiektu nazwaObiektu = new typ_Obiektu(); Gdzie jako typ obiektu wpisujemy klasę, któą ten obiekt reprezentuje.
  16. Tomasz Komenda został niesłusznie skazany za morderstwo, mimo że - jak ustaliła "Wyborcza" - były wówczas wyniki badania DNA jednoznacznie wskazujące, że włosy znalezione na miejscu zbrodni nie należą do niego. Te wyniki nie zostały jednak wzięte pod uwagę! Wyniki uzyskano przy pomocy testu Polymarker, który wszedł do użycia na początku lat 90. Pozwalał on rozpoznać wybrane markery znajdujące się w kodzie DNA. Tyle że markery, które wówczas badano, nie są przypisane tylko jednej osobie na świecie, ale mogą powtarzać się w populacji. A Tomasz Komenda, na swoje nieszczęście, ma w kodzie cechy, które w populacji występują dość często. Jak zaznaczyli wówczas biegli wykonujący badanie, powtarzają się one raz na 71 przypadków. Sąd w uzasadnieniu do wyroku wspomniał o tych wątpliwościach. Nie wspomniał jednak o badaniach DNA, które również były przeprowadzane w czasie śledztwa, a które wykluczyły, że którykolwiek z przebadanych włosów mógł należeć do Komendy. Źródło: http://wroclaw.wyborcza.pl/wroclaw/7,35771,23231142,jak-pominieto-badania-wykluczajace-tomasza-komende-jako-zabojce.html
  17. *.jar

    Patch 8.7!

    Wczoraj gra została zaktualizowana do najnowszej wersji - 8.7! Skrót patcha w filmiku: Dokładne info na temat wszystkich zmian możecie znaleźć TUTAJ.
  18. Wrzuć screenshot tego błędu i opisz dokładnie kiedy Ci się pojawia.
  19. Fortnite na Androida i iOS - jak się zapisać i grać Wszystko o mobilnej wersji gry. Rozesłana została pierwsza tura zaproszeń do mobilnej wersji gry Fortnite: Battle Royale. Gra, dostępna do tej pory na komputerach osobistych i konsolach, jest prezentowana coraz szerszej grupie odbiorców na urządzeniach przenośnych. Co ciekawe, mobilna wersja Fortnite umożliwi rozgrywkę także z graczami na "dużych" platformach. Jak zapisać się do testowania Fortnite: Battle Royale i otrzymać dostęp do gry? Podpowiadamy w niniejszym artykule. Przede wszystkim należy zdawać sobie sprawę, że zainteresowanie Fortnite: Battle Royale na Androida i iOS jest bardzo duże, dlatego firma Epic rozsyła zaproszenia stopniowo, w kolejnych turach. Wciąż testowana jest infrastruktura sieciowa oraz kompatybilność z innymi platformami, dlatego nie każdy może liczyć - od razu - na otrzymanie dostępu do Fortnite na smartfony czy tablety. Rejestracja i zaproszenie do mobilnego Fortnite Kiedy odbędzie się premiera Fortnite na Androida i iOS? Pierwsze zaproszenia do gry zostały rozesłane już 15 marca, ale nie otrzymali ich wszyscy, którzy dokonali rejestracji. Na początku odwiedź oficjalną stronę zapisów do testowania mobilnej wersji gry - Fortnite na urządzenia mobilne. Możesz zauważyć, że jak na razie rejestrować się mogą tylko posiadacze urządzeń firmy Apple. Po przejściu na stronę służącą do rejestracji, kliknij w duży, żółty przycisk, wskazany na powyższym obrazku strzałką. W oknie, które się pojawi, odpowiedz na pytanie związane z tym, czy grasz już w Fortnite: Battle Royale na innych platformach. Jeśli wybierzesz "TAK", postępy zostaną przeniesione do mobilnej wersji gry. Po zarejestrowaniu lub zalogowaniu na konto Epic, będziesz musiał wybrać domyślne urządzenie mobilne. Kliknij na rozwijaną listę (1), a następnie wybierz z niej model swojego smartfona (2). Jak możesz zauważyć, na razie obsługiwane są tylko urządzenia firmy Apple. Przy liście wspieranych modeli Androida widnieje na razie dopisek Coming Later, co pozwala przypuszczać, że obsługa Fortnite: Battle Royale na Androida nastąpi z opóźnieniem. Możemy jednak zarejestrować się już teraz - jeśli zdecydujemy się na urządzenie jeszcze nieobsługiwane, powinieneś zauważyć komunikat potwierdzający dostępność gry w najbliższych miesiącach. Jeśli jednak posiadasz urządzenie z iOS, masz szanse na otrzymanie zaproszenia do gry w najbliższych tygodniach. Źródło: https://www.eurogamer.pl/articles/2018-03-19-fortnite-na-androida-i-ios-jak-sie-zapisac-i-grac
  20. Cześć i czołem W poprzednim poradniku nauczyliśmy się jak napisać prosty kalkulator wykonujący podstawowe operacje na wprowadzonych w kodzie liczbach. Jednak nie jest on zbyt praktyczny prawda? W końcu nie będziemy komuś wysyłać kodu, żeby sobie wkleił swoje liczby i potem sprawdził co mu wyjdzie. Lepszym pomysłem będzie zapytać użytkownika o te liczby. I tego też nauczymy się dziś. W tym krótkim poradniku pokażę Wam czym jest Scanner i jak się go używa. Jest to prosta rzecz, która na początku będzie dla Was podstawą i będziecie mogli z niej dużo wyciągnąć (budowanie zdań, obliczanie liczb itp.). Zapraszam do programowania! Pobieranie danych od użytkownika Zdaję sobie sprawę, że poprzednie poradniki mogły wydać się Wam... niepotrzebne. Ale to mylne podejście. To czego nauczyliście się wcześniej to podstawa do wykonywania bardziej złożonych kodów. Tak naprawdę deklaracje, inicjalizacje czy wyświetlanie danych będzie Wam potrzebne cały czas, a przynajmniej napewno w pierwszej fazie nauki programowania w języku Java. Pobieranie danych od użytkownika to chyba jedna z najważniejszych rzeczy bo dzięki niej nasz program ma większe "pole manewru". Jest wiele opcji pobierania danych od użytkownika, ale my nauczymy się dziś chyba najprostszej z nich - System.in i klasy Scanner. Poniżej przykład jak wygląda prosty kod przyjmujący imię od użytkownika i wyświetlający je: import java.util.Scanner; public class Greeting{ public static void main(String[] args){ String imie; //tutaj deklarujemy zmienną, w której zapiszemy podane przez użytkownika dane Scanner input = new Scanner(System.in); //tutaj pobierzemy dane od użytkownika imie = input.nextLine(); //tutaj program wprowadzi pobrane dane do zmiennej "imie" System.out.println("Witaj " + imie+ "."); //wyświetlamy wraz z pobranym imieniem użytkownika } } Jak widzicie pierwszą rzeczą w tym programie jest zadeklarowanie zmiennej imie i przypisanie jej typu String. Oznacza to, że będzie tu przechochowywany tekst. Następnie zadeklarowaliśmy obiekt Scanner nadając mu "nazwę" input. Po tym etapie musieliśmy stworzyć obiekt Scanner za pomocą operatora new. Poniżej wytłumaczenie po kolei co i jak: Scanner input = new Scanner(System.in); //deklaracja obiektu Scanner o nazwie input = utworzenie obiektu Scanner(nadanie mu parametru System.in czyli wejście danych od użytkownika) Jak widzicie tworzenie i deklaracja nowego obiektu jest bardzo podobna do deklaracji i inicjalizacji zmiennej. Jest to część Programowania obiektowego, o którym pisać będę w dalszych poradnikach. Ważne jest, abyście zrozumieli co wydarzyło się powyżej bo na tym będzie opierać się dużo przyszłych poradników. Jak mamy już utworzony obiekt Scanner i przypisaliśmy mu parametr System.in to należy teraz odebrać dane od użytkownika i zapisać je w naszej zmiennej imie. Do tego służy ta linijka: imie = input.nextLine(); Analogicznie do poprzedniej lekcji - inicjalizujemy wprowadzone dane przez użytkownika w zmiennej imie. Istnieje wiele metod odczytu danych w przypadku obiektu Scanner. Powyższy nextLine() służy do pobrania ciągu znaków czyli po prostu String. Inne istniejące możliwości to na przykład: nextInt() - pobiera liczbę całkowitą od użytkownika np. 10 nextDouble() - pobiera liczbę zmiennoprzecinkową od użytkownika np. 10,0123 Sam obiekt Scanner ma masę innych funkcji, ale te powyższe przedstawiłem podstawowe. Generalnie polecam poczytać o tym tu jeśli ktoś będzie chciał się tym pobawić: https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html Prosty kalkulator przyjmujący dane Teraz wejdźmy sobie w nasz stworzony wcześniej projekt kalkulatorka: public class Calculator { public static void main(String[] args) { int number1 = 76423; int number2 = 2314; int multiplication = number1 * number2; int division = number1 / number2; int subtraction = number1 - number2; int addition = number1 + number2; System.out.println("Result of multiplication: " + multiplication + ". \nResult of division: " + division + ". \nResult of subtraction: " + subtraction + ". \nResult of addition: " + addition + "."); } } Spróbujmy na podstawie powyższych moich wypocin zedytować ten kod, aby przyjmował dwie zmienne int od użytkownika i zapisywał je jako number1 i number2. Poniżej rozpisuję kroki: Stworzenie i deklaracja dwóch obiektów Scanner z parametrem wejścia użytkownika (System.in). Nazwa dowolna (na przykłąd input1 i input2) Zapisanie pobranych danych z jednego Scannera i drugiego do dwóch zmiennych Integer - number1 i number2 Powinno to wyglądać w ten sposób: Dlaczego tyle czerwonego? Bo nie zaimportowaliśmy klasy Scanner. Jeśli korzystamy z IntelliJ jedyne co trzeba zrobić to będąc kursorem na linijce deklarowania Scannera kliknąć Alt+Enter i automatycznie zostanie nam zaimportowany Scanner. Drugim sposobem jest po prostu przepisanie poniższego importu: import java.util.Scanner; Gdy to zrobimy wszystko będzie wyglądać normalnie i nie będziemy mieć żadnych błędów. Uruchamiając teraz program wszystko zadziała poprawnie. Jednak jest jeden problem. Program od razu będzie chciał pobrać od użytkownika dwie liczby. Skąd użytkownik ma wiedzieć, aby je podać? Nic się nie wyświetli w konsoli. Aby wszystko było jasne i zrozumiałe należy na początku kodu dopisać linijkę, która wyświetli tekst proszący o podanie dwóch liczby przez użytkownika. Cały program ostatecznie będzie wyglądać w ten sposób: import java.util.Scanner; public class Calculator { public static void main(String[] args) { int number1; int number2; Scanner input1 = new Scanner(System.in); Scanner input2 = new Scanner(System.in); System.out.println("Podaj pierwszą liczbę: "); number1 = input1.nextInt(); System.out.println("Podaj drugą liczbę: "); number2 = input2.nextInt(); int multiplication = number1 * number2; int division = number1 / number2; int subtraction = number1 - number2; int addition = number1 + number2; System.out.println("Result of multiplication: " + multiplication + ". \nResult of division: " + division + ". \nResult of subtraction: " + subtraction + ". \nResult of addition: " + addition + "."); } } Gratulacje! To działa! Teraz poćwiczcie. Już niedługo kolejny poradnik! Zadanie dla Was: Stwórz program, który będzie przyjmował Twoje imie, nazwisko i datę urodzin, a następnie wszystko zwracał użytkownikowi.
  21. Dzień doberek W poprzednim poradniku pokazałem Wam jak zrobić prosty program Java drukujący podaną przez nas linię w konsoli. Dziś postanowiłem nauczyć Was kolejnej rzeczy - deklaracji zmiennych. Gdy już to opanujemy postanowiłem, że wykorzystamy wiedzę z poprzedniej lekcji i obecnej i stworzymy banalny kalkulator obliczający podstawowe rzeczy - dodawanie, odejmowanie, mnożenie i dzieleni. Zaczynajmy!!! Deklaracja i inicjalizacja zmiennych i ich typy Każdy język oprogramowania ma swoje zmienne. I w każdym języku trzeba te zmienne zadeklarować i zainicjalizować. Czym jest deklaracja, a czym inicjalizacja? Nic trudnego. Deklaracja to po prostu określenie typu i nazwy danej zmiennej: String nazwa; W powyższym przykładzie zadeklarowałem zmienną o nazwie "nazwa", która jest typem "String". O typach zmiennych napiszę później. Inicjalizacja to nadanie wartości zadeklarowanej zmiennej: nazwa = "Fragujemy.com"; W powyższym przykładzie zainicjalizowałem zmiennej "nazwa" wartość "Fragujemy.com". Istnieje również możliwość deklaracji i inicjalizacji zmiennej w tej samej linijce kodu. Wygląda to następująco: String nazwa = "Fragujemy.com"; I jest to najczęściej spotykana forma w programowaniu. Typy zmiennych Wiemy już jaka jest różnica między deklaracją a inicjalizacją. Ale skąd wiedzieć jaki typ zmiennej zadeklarować? Poniżej przedstawiam listę podstawowych zmiennych w Javie. String - typ obiektowy zmiennej (jedyny, który podam w tym zestawieniu), który przechowuje ciąg znaków czyli najprościej mówiąc - tekst. boolean - przyjmuje tylko wartość true i false. char - po prostu "znak". Odpowiada na przykład jednej literze, ale może przechować liczbę od 0 do 65 535. float - przechowuje ułamki. Maksymalnie może przechowywać liczbę z ok. 6-7 miejsc po przecinku. double - zaawansowana forma float. Może przechować maksymalnie liczbę z ok. 15 miejsc po przecinku. int - podobnie jak powyższe przechowuje liczby, jednak w przeciwieństwie do float i double przechowuje jedynie liczby całkowite. Dodatkowo oprócz zmiennej int mamy również short i long. Zmienna short przechowuje po prostu mniejszy zakres liczb całkowitych niż int. Jak można się teraz domyślić, zmienna long przechowuje większy zakres liczb całkowitych niż int. Zakresy tych liczb są podane w bajtach, ale nie będę się tutaj rozpisywać bo i tak nikt tego nie zapamięta Najczęściej używa się int do liczb całkowitych i double jeśli chcemy zapisać liczbę zmiennoprzecinkową. Mój pierwszy kalkulator! Skoro znamy już typy zmiennych, a także wiemy jak je deklarować i inicjalizować to rozpocznijmy naszą podróż w głębokie wody tworzenia prostego kalkulatora, dzięki któremu będziemy mogli dowiedzieć się czy Pani na kasie w biedronce dobrze nam oddała resztę. Zaczynamy! Po pierwsze uruchamiamy sobie nasz program (w moim przypadku IntelliJ). Po uruchomieniu tworzymy nową klasę: Nazwijmy ją sobie Calculator i wciśnijmy przycisk OK. Pojawi nam się nasza klasa: Pierwszą rzeczą jak już poprzednio wspominałem jest utworzenie metody main. W IntelliJ wystarczy wpisać psvm, a następnie kliknąć ctrl+spacja i Enter, a podpowiedź sama wstawi nam gotową linijkę kodu: Teraz zadeklarujmy sobie dwie zmienne typu int o nazwie number1 i number2. Mając zadeklarowane dwie zmienne int o nazwach number1 i number2 możemy przechować w nich wartości. Przykładowo wpiszmy, że number1 to 76423, a number2 to 2314. Powyższe wartości możecie zmieniać w każdym momencie. Możecie też zadeklarować więcej zmiennych o różnych typach, wszystko jest dowolne. Narazie skupmy się na powyższym. Teraz nasze zmienne przechowują powyższe dwie liczby. Teraz zadeklarujmy sobie 4 różne zmienne. Przykład jak to wygląda u mnie: Idąc od góry: mnożenie, dzielenie, odejmowanie, dodawanie. Tak nazwałem swoje zmienne i zdeklarowałem je jako Integer (int). Teraz chciałbym, aby program wykonał wszystkie powyższe rodzaje działań biorąc pod uwagę powyższe dane. Więc inicjalizuję sobie w nowych zmiennych działania tak jak jest to widoczne na poniższym screenie: Podczas wpisywania mogliście zaobserwować, że program sam podpowiadał Wam zadeklarowane zmienne. Jeśli mają one skomplikowane nazwy lub po prostu chcecie przyspieszyć Wasz proces pisania kodu to jest to bardzo pomocne. Mając zadeklarowane zmienne dotyczące wykonywania operacji matematycznych i zainicjalizowaliście w nich te działania to teraz należy wydrukować wyniki, które Wam powstały. Wykorzystajmy do tego wiedzę z poprzedniego poradnika i spróbujcie sami napisać linijkę, która wydrukuje Wam wyniki działań. Jednak nie tak szybko! Poprzednio drukowaliśmy tylko samego String'a, tutaj mamy już inne zmienne - Integer. W tym wypadku nie można wpisać po prostu System.out.println(multiplication, division, subtraction, addition); Program wtedy wyrzuci nam błąd bo będzie chciał wydrukować wszystko naraz (w tym samym momencie będzie chciał wypluć w konsoli wyniki każdego działania). Nie możemy tego również zapisać w ten sposób: System.out.println(multiplication + division + subtraction + addition); Dlaczego? Bo program wydrukuje wynik dodawania wszystkich wcześniej otrzymanych wyników. Aby poprawnie wydrukować otrzymane wyniki, musimy w nawiasie dać jakikolwiek String. Przykładowo u mnie wygląda to tak: System.out.println("Result of multiplication: " + multiplication + ". Result of division: " + division + ". Result of subtraction: " + subtraction + ". Result of addition: " + addition + "."); Jeśli teraz uruchomimy program to otrzymamy taki output w konsoli: Jak widzicie nie jest to zbyt czytelne. Dodajmy więc sobie separator linii \n przed każdym słowem Result. Powinno to wyglądać tak: System.out.println("Result of multiplication: " + multiplication + ". \nResult of division: " + division + ". \nResult of subtraction: " + subtraction + ". \nResult of addition: " + addition + "."); Teraz wynik w konsoli będzie taki: I to już wszystko Popróbujcie sami i w razie pytań zapraszam do komentarzy!!!
  22. Programowanie nie musi być trudne i skomplikowane. Wystarczy odpowiednie zaangażowanie i nie pchanie się na głęboką wodę bez doświadczenia, bo stracimy do tego chęci i nas to przerośnie. Generalnie najlepiej na samym początku popróbować sobie kilka języków i sprawdzić, w którym czujemy się dobrze. Osobiście zaczynałem od skryptowania w HTML, potem Python, a teraz od kilku miesięcy uczę się Javy. W celu utrwalenia mojej wiedzy i przekazania jej Wam z nadzieją wzbudzenia zainteresowania u niektórych postanowiłem co jakiś czas wypuszczać mały poradniczek jak zrobić daną rzecz. Mi najlepiej podszedł język Java. Dlaczego Java? Nikogo przekonywać nie będę bo każdy ma swój rozum. Mi osobiście spodobało się kilka rzeczy: 1. Java to język obiektowy Co to właściwie znaczy? To jest naprawdę proste - patrząc na nasze biurko znajdziemy tam monitor, mysz, klawiaturę, podkładkę i wiele więcej. To wszystko to obiekty. Każdy z nich zawiera jakąś informację (mysz jest szara, klawiatura ma klawisze, monitor wyświetla obraz). 2. Java działa na każdej platformie Istnieje coś takiego jak Java Virtual Machine (JVM). Dzięki niej napisany program można uruchomić na każdej platformie (Windows, Linuks i wiele więcej). 3. Java jest prosta... ... dla niektórych. Nie każdy może być programistą. Nie każdy może być też lekarzem/prawnikiem/nauczycielem czy kierowcą. Dla jednych dana czynność jest łatwa, dla innych to kosmos. Według mnie Java jest łatwo skonstruowana. Przykład: System.out.println("Hello World"); cout<<"Hello World" Jak myślicie, który kod to Java? . . . Pierwszy. Drugi to C++. Tłumacząc: System.out.println("Hello World"); To "wyjście systemu" (System.out), które w konsoli pokaże nam linię (println) z nawiasu: "Hello World". Dla porównania w C++: cout<<"Hello World" cout to "see out" czyli to samo co System.out.println Znaki << wskazują, że to co po prawej stronie jest wykonywane za pomocą komendy po lewej stronie. W tym przypadku String "Hello World" zostanie wykonany przez komendę cout czyli zostanie pokazany w konsoli. W mojej opinii prostsze jest: System.out.println("Hello World"); Bo od razu jasno precyzuje, że System wydrukuje linię "Hello World". Pierwszy program "Hello World" Napisanie pierwszego programu w Javie (po zainstalowaniu odpowiedniego oprogramowania) jest dziecinnie proste. Ja korzystam z IntelliJ Community Edition, ale wiele osób korzysta z Eclipse (darmowy i dobry program, zaczynałem od niego). Instalacja programu jest łatwa. Pobieramy instalkę z internetu i klikamy dwa razy. Do tego trzeba zainstalować Java Development Kit (JDK). Wpisujemy to w Google i pobieramy ze strony Oracle. Po instalacji wszystkiego możemy uruchomić program i zrobić swój pierwszy projekt. Nie będę tutaj pokazywać jak to wszystko po kolei uruchomić, skonfigurować JDK itp. bo w tym poradniku nie na tym się skupię. Jeśli chcecie drugi poradnik dotyczący instalacji i konfiguracji środowiska to dajcie znać w komentarzach. Sam program wygląda tak: Nic ciekawego tu nie ma. Gdzie tu pisać kod? Klikamy prawym przyciskiem myszy na "src", wybieramy New, a potem Java Class Klasy przyjęło się, że nazywamy wielką literą. Nazwijmy ja sobie "Beginning" i kliknijmy "OK". Zauważymy, że pojawiły nam się dwie linijki kodu: Co one oznaczają? Tylko tyle, że właśnie stworzyliśmy publiczną klasę o nazwie Beginning. Nawiasy klamrowe informują, że pomiędzy nimi jest reszta kodu. No dobra, to spróbujcie teraz wpisać między nimi System.out.println("Hello World"); I co? I nic. Nie można tak zrobić. Pokaże nam się błąd: Ale dlaczego? Przecież tak to działa. Dlatego, że w klasie nie ma metody main. Jest to metoda od której wszystko się zaczyna i wywoływana jest jako pierwsza, gdy uruchamiamy program. W każdym programie Java musi być metoda main w głównej klasie. Jak dodać taką metodę? To proste. Metoda sama w sobie wygląda tak: Skomplikowanie? Trochę. Ale mam dobrą wiadomość. Nie musicie tego wszystkiego przepisywać! Jeśli korzystacie z tego programu co ja (IntelliJ) to wystarczy wpisać psvm i wcisnąć ctrl+spacja. Wtedy pojawi nam się podpowiedź i gdy klikniemy enter doda nam się cała metoda i wszystko będzie wyglądać jak na powyższym screenie. Teraz jedyne co trzeba zrobić to wpisać pomiędzy nawiasami klamrowymi metody main: System.out.println("Hello World"); Ale tu też mam dla Was dobrą informację - nie musicie tego całego pisać! Wystarczy wpisać sout, wcisnąć ctrl+spacja i kliknąć enter i pojawi Wam się linijka z gotowym nawiasem do wpisania zawartości. Teraz jak wpiszecie w nawiasie "Hello World" i uruchomicie program, to w konsoli pojawi się napis z nawiasu. Pytania? Zapraszam do komentarzy Chętnie wszystko wytłumaczę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności