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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.:
  6. 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)