---
Zadanie 1. Operacje na łańcuchach znakowych (max 5 punktów)
Napisać program, który pobiera w dialogu wejściowym showInputDialog łańcuch znakowy i:
podaje na konsoli długość łańcucha,
wyprowadza pierwszy i ostatni znak (rozdzielone spacją)
wyprowadza podłańcuch od 4 znaku do ostatniego znaku,
wyprowadza podłańcuch od 4 znaku do przedostatniego znaku,
wyprowadza informacje o tym ile razy w wejściowym łańcuchu występuje zadany (podany w drugim dialogu wejściowym showInputDialog) podłańcuch (np. ile razy w łańcuchu "podstoleczne tramwaje mialy postoje po sto razy dziennie" wystepuje podlancuch "sto" - w tym przypadku 3)
tworzy tablicę wszystkich słów łańcucha (tu slowa niech oznaczają zestawy znaków rozdzielone spacjami, przecinkami, kropkami i średnikami) i wyprowadza jej elementy w jednym wierszu, rozdzielone jedną spacją
stwierdzia czy pierwsze i ostatnie słowo łańcucha jest takie samo.
Działanie programu winno wyglądać w następujący sposób.
- w dialogu wejściwym podajemy napis np. "ala ma kota, ale ala nie ma psa; kota ma ala"
- w dialogu wejściowym podajemy szukany tekst np. "al"
Dla podanych przykładowych danych na konsoli powinniśmy uzyskać wynik:
1) 44
2) a a
3) ma kota, ale ala nie ma psa; kota ma ala
4) ma kota, ale ala nie ma psa; kota ma al
5) 4
6) ala ma kota ale ala nie ma psa kota ma ala
7) true
Sposób działania programu i forma wydruku są obowiązkowe (proszę zwrócić uwagę na wyprowadzanie numeracji kolejnych punktów zadania na wydruku oraz na to w jaki sposób podawane sa wynik).
Punktacja:
1-4 = 1 punkt
5 = 2 punkty
6-7 = 2 punkty
Zadanie 2. Daty z pliku (max 5 punktów)
Daty w pliku tekstowym o nazwie {user.home}/test/daty.txt maja postać YYYY-MM-DD (rok- miesiac- dzien). Oprócz dat, plik zawiera inne informacje. Wczytać plik i wypisać w jednym wierszu wszystkie poprawne daty - czyli: po wyróżnieniu wszystkich fragmentów, które mogą być datami sprawdzić ich poprawnośc (np. czy właściwa jest liczba dni w miesiącu)
Program powininn w specyficzny sposób traktować niejednozanczną informację (np. 2009-01-111 - czy to błędna data czy potraktowac ją jako 2009-01-11).
Sposób traktowania takich sytuacji wyjaśnia poniższy przykład.
Dane w pliku:
2007-01-12Jakis txt2008-01-31 xxx 2008-02-29 2008-15-10 2008-19-45 2009-05-01
20999-11-11 pppp 2001-00-01 09-01-01 2001-01-00 2009-01-111 2009-02-29 1998-11-11
Program powinien wyprowadzić:
2007-01-12 2008-01-31 2008-02-29 2009-05-01 1998-11-11
Podpowiedź: użyć skanera, wyrażeń regularnych (ale same wyrażenia reg. nie wystarczą).
Uwaga: nazwa i lokalizacja pliku jest obowiązkowa. Aby dowiedzieć się który katalog jest {user.home} i umieścić w nim pliki testowe można z poziomu Javy użyć:
System.getProperty("user.home");
Wymagania
Praca wykonana w Eclipse zgodnie z wymaganiami opisanymi w zadaniu (pełen plik z opisem zadań dostępny po kontakcie mailowym).Termin do 23:00, 25.01.2014