Wyzwania

Radosław Szmit

3 minute read

Czas na rozwiązanie ostatniego wyzwania z programowania w języku Java. Tym razem chcieliśmy byście użyli funkcjonalności dostępnych od JDK w wersji 8 to przetworzenia zbioru filmów z portalu MovieLens (zbiór MovieLens 20M Dataset, plik movies.csv). Programowanie funkcyjne dla wielu początkujących osób bywa bardzo trudne oraz wymaga praktyki, dlatego pozostawiliśmy tą część języka Java na sam koniec. Gdybyście chcieli rozszerzyć wiedzę z tego zakresu, oprócz dokumentacji i materiałów dostępnych w internecie, na rynku można znaleźć wiele książek dotyczących programowania funkcyjnego w Javie 8, jak choćby Functional Programming in Java której autorem jest Venkat Subramaniam, bardzo popularny prezenter na konferencjach programistycznych w Polsce i na świecie lub Java 8.

Radosław Szmit

8 minute read

Do tej pory cały czas mówiliśmy, że Java jest językiem obiektowym. Poświęciliśmy temu zagadnieniu dwa dedykowane wyzwania, choć tak naprawdę już od pierwszego programu, gdyż użyliśmy słowa kluczowego class programowaliśmy obiektowo w Javie. Tak naprawdę tylko typy proste, ze względu na pewne optymalizacje, nie są obiektami, czyli jak już wiemy z poprzednich wyzwań, nie dziedziczą po java.lang.Object. Jednak programowanie obiektowe, nie jest jedynym paradygmatem programowania jaki może wykorzystywać język programowania.

Radosław Szmit

1 minute read

Czas na rozwiązanie kolejnego wyzwania. Ten program także można było rozwiązać na wiele sposobów, wykorzystując różne możliwości języka Java. Poniżej jedno z możliwych rozwiązań: package pl.kodolamacz.io; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.text.MessageFormat; import java.util.List; import java.util.Scanner; public class Exercise { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Proszę podać nazwę pliku wejściowego: "); String userSourceFilePath = scanner.nextLine(); System.out.println("Proszę podać nazwę pliku wynikowego: "); String userResultFilePath = scanner.

Radosław Szmit

9 minute read

W dzisiejszym poście chcielibyśmy porozmawiać o operacjach wejścia wyjścia w Javie. Do tej pory nasze programy były zamknięte na świat, nie wykonywały żadnej komunikacji poza wyświetlaniem w konsoli informacji dla użytkownika i wczytywanie wprowadzonych przez niego danych. Jednak to zdecydowanie za mało, nasz program musi umieć robić takie rzeczy jak obsługa plików, komunikacja z bazami danych, przesyłanie i odbieranie danych po sieci czy integracja z innymi systemami lub urządzeniami.

Radosław Szmit

6 minute read

Pora na rozwiązanie kolejnego wyzwania z drugiej części programowania obiektowego. Tym razem mieliśmy zaprojektować klasy do systemu wypożyczalni pojazdów. To zadanie można rozwiązać na wiele sposobów, wszystko zależy od wymagań systemu i pomysłu programisty, dlatego bez obaw jeśli wasze klasy są kompletnie inne niż będą poniżej. Zaczynamy od modelowania pojazdów. Zakładamy, że mamy samochody osobowe, dostawcze, motocykle i maszyny robocze. Każdy z nich jest pojazdem silnikowym i zakładamy, że nie będzie innych, uproszczając tym model.