Zaawansowane srodowiska programistyczne
Oddawanie projektow
Zapraszam osoby ktore by chcialy zaliczyc projekt w srode (11.09) na godz. 18.15 (lab B lub C).
Przydatne linki
Strony w j. angielskim
http://www.oracle.com/technetwork/java/index.html
Java Tutorial
http://www.javaworld.com
Strony w j. polskim:
http://www.java.pl
http://www.jdn.pl
API
JSE 8 API Specification
Wyklady
Basics
Objects, Interfaces, Packages, Annotations
Exceptions
Cwiczenia laboratoryjne
- Napisz program czytajacy argumenty wywolania programu i konwertujacy je do Integer.
Zmodyfikuj program w ten sposob, aby kolejne argumenty byly wspolczynikami wielomianu postaci Ax2+Bx+C=0. Policz pierwiastki tego wielomianu.
- Napisz program, ktory pobiera dwie liczby oraz lancuch znakow z wiersza polecen oraz wyswietla fragment podanego lancucha okreslony wprowadzonymi liczbami. Na przyklad:
java Substring Witaj 2 4
powinien wyswietlic:
taj
Obsluz wszystkie mozliwe wyjatki, ktore moga wystapic w przypadku zlego zestawu argumentow.
- Napisz program losujacy liczbe z zakresu 0-100. Nastepnie program pyta sie uzytkownika, co to za liczba.
Jezeli uzytkownik nie zgadl, dowiaduje sie czy wylosowana liczba jest wieksza czy mniejsza od podanej.
Jezeli zgadl, dowiaduje sie ile wykonal prob i jest pytany o ochote do dalszej gry.
- Napisz program losujacy 1000 znakow i zapisz je do pliku, a nastepnie odczytaj pliku i wypisz na ekran. Utworz dwie rozne pary procedur zapisujaco/odczytujacych, raz korzystajac z pakietu java.io a drugi raz z pakietu java.nio. Porownaj szybkosc zapisu i odczytu, wynik wypisz na ekranie.
- Napisz program proszacy o podanie 2 wektorow. Koniec wektora oznacza sie za pomoca
wcisniecia klawisza enter. Jezeli podany ciag nie jest liczba, jest ignorowany.
Nastepnie nalezy sprobowac dodac wektory, jezeli sa rownej dlugosci. Jezeli nie, sa,
rzucany jest wlasny wyjatek WektoryRoznejDlugosciException, za pomoca ktorego mozna
podac a nastepnie odczytac dlugosci tych wektorow. Jezeli sa rownej dlugosci, wynik
dodawania zapisywany jest do pliku. Jezeli nie sa rownej dlugosci, uzytkownik jest proszony o ponowne wprowadzenie tych wektorow.:
- Napisz klase NrTelefoniczny, posiadajaca 2 pola: nrkierunkowy i nrTelefonu i implementujaca interfejs Comparable. Nastepnie utworz abstrakcyjna klase Wpis a nastepnie dziedziczace z niej klasy Osoba i Firma. Klasa Wpis ma abstrakcyjna metode opis, ktora opisuje dany wpis. Byc moze ma rowniez inne metody abstrakcyjne lub nie w miare potrzeb. Klasa Osoba ma zawierac informacje o imieniu, nazwisku, adresie i (w tym nrTelefonu). Klasa Firma ma miec nazwe i adres( w tym NrTelefonu). Utworz kilka obiektow klasy Osoba i kilka obiektow klasy Firma i umiesc je w kontenerze TreeMap, poslugujac sie jako kluczem numerem telefonicznym. Nastepnie wypisz utworzona w ten sposob ksiazke telefoniczna za pomoca iteratora.
Projekt
Biblioteka oferujaca funkcjonalnosc prostej plikowej bazy danych.
W podstawowej wersji aplikacji musi byc zrealizowana funkcjonalnosc Select, Insert, Update oraz Delete. Baza danych powinna miec mozliwosc tworzenia co najmniej jednej tabeli, wieksza ilosc jest opcjonalna. Aplikacja powinna posiadac interfejs w linii polecen umozliwiajacy jej wygodna obsluge i obslugiwac przyjazny dla uzytkownika sposob wyjatki rzucane podczas pracy aplikacji.
Przyklad zastosowania przygotowanej biblioteki jest dowolny, np. kartoteka ksiazek, baza kontaktow, baza danych wartosci pomiarowych.
Dodatkowe elementy (do wyboru)
- implementacja klauzuli WHERE
- implementacja klauzuli GROUP
- interfejs graficzny w JavaFX
- mozliwosc tworzenia polaczonych tabel (JOIN)