Ćwiczenie 1 Uruchamianie programu w Netbeans Uruchom środowisko Netbeans. Stwórz nowy projekt typu Java Application. Nadaj projektowi nazwę HelloWorld (Project Name), zwróć uwagę na folder, w którym zostanie zapisany (Project Location). Klasie głównej nadaj nazwę Main (Create Main Class: helloworld.main). str. 1
Przyjrzyj się utworzonej klasie, zwróć uwagę na poszczególne elementy deklarację pakietu, klasy, metody. Usuń komentarze. Uzupełnimy kod, tworząc najprostszy program Hello World. Całość powinna wyglądać następująco: package helloworld; public class Main { public static void main(string[] args) { System.out.println("Hello World!"); Uruchom program naciskając F6 lub klikając przycisk z zieloną strzałką. Wynik działania programu pojawi się w dolnej części ekranu, w okienku Output. Ćwiczenie 2 Zmienne i wyrażenia Zadeklarujemy zmienne rzeczywiste x i y oraz zmienne całkowite m, n. Zainicjujemy zmienne i obliczymy dwa wyrażenia arytmetyczne z ich udziałem, a następnie wypiszemy wyniki: package helloworld; public class Main { public static void main(string[] args) { double x = 3.5, y = 0; int m = 3, n = 7; double z = x * y; int k = m + n; System.out.println(z); System.out.println(k); Instrukcje sterujące Za pomocą pętli for wypiszemy liczby całkowite 1..10 oraz ich kwadraty: for(int i=1; i<=10; i++) { int kw = i*i; System.out.println(i + " " + kw); Zmodyfikujemy powyższy kod wypiszemy tylko kwadraty liczb podzielnych przez 3. str. 2
Aby sprawdzić, czy liczba jest podzielna przez 3, wykorzystamy instrukcję warunkową if oraz operator reszty z dzielenia %: for(int i=1; i<=10; i++) { int r = i % 3; if(r==0) { int kw = i*i; System.out.println(i + " " + kw); Operacje na tablicach Zadeklarujemy dwie nowe zmienne tablicę liczb całkowitych i tablicę liczb rzeczywistych. Zainicjujemy je, tworząc puste tablice o rozmiarze 10 elementów. double liczbyr[] = new double[10]; int liczbyc[] = new int[10]; W pętli wypełnimy tablice liczbami losowymi. Wykorzystamy funkcję Math.random() oraz rzutowanie typów: liczbyr[i] = Math.random(); liczbyc[i] = (int)(math.floor(math.random() * 100)); Zawartość tablic wypiszemy na ekranie: System.out.println(liczbyC[i]); System.out.println(liczbyR[i]); W klasie Arrays znajdują się funkcje pomocnicze do operacji na tablicach, między innymi sort() oraz tostring(). Posortujemy zawartość obu tablic wykorzystując metodę sort: Arrays.sort(liczbyR); Arrays.sort(liczbyC); str. 3
Wypiszemy zawartość tablic na ekranie, wykorzystując metodę tostring: // zamień na łańcuch tekstowy String sc = Arrays.toString(liczbyC); String sr = Arrays.toString(liczbyR); // wypisz na ekranie System.out.println(sC); System.out.println(sR); Zadanie 1 Napisz program losujący 6 liczb całkowitych z przedziału <1; 49>. Wypisz wylosowane liczby na ekranie w kolejności rosnącej. Ćwiczenie 3 Kolekcje listy i zbiory Do przechowywania obiektów można wykorzystać kolekcje m.in. listę (interfejs List, klasa ArrayList) lub zbiór (interfejs Set, klasy HashSet, TreeSet). W przeciwieństwie do tablic listy i zbiory mogą przechowywać dowolną, zmienną liczbę elementów (kolekcja będzie rosła w miarę dodawania elementów i zmniejszała się przy ich usuwaniu). Stworzymy nową listę, przechowującą obiekty klasy String. Następnie wypełnimy ją obiektami typu String nazwiskami studentów: List<String> studenci = new ArrayList<String>(); studenci.add("newton"); studenci.add("einstein"); studenci.add("doda"); studenci.add("sokrates"); studenci.add("kowalski"); Wypiszmy listę na ekranie. System.out.println(studenci); Posortujmy listę i ponownie wypiszmy: Collections.sort(studenci); System.out.println(studenci); Do popularnych operacji na listach należą: o sprawdzenie rozmiaru listy metoda size(); o pobranie i-tego elementu listy metoda get(i); o sprawdzenie pozycji element na liście metoda indexof( ); o sprawdzenie, czy dany element znajduje się na liście metoda contains( ). str. 4
Wypiszmy na ekranie następujące informacje: o liczbę studentów; o nazwisko studenta nr 3; o numer Kowalskiego na liście; o informację, czy na liście znajduje się Malinowski. int n = studenci.size(); String s = studenci.get(2); // indeksowanie od 0, stąd 2 int k = studenci.indexof("kowalski"); System.out.println("Liczba studentów: " + n); System.out.println("Nazwisko studenta nr 3: " + s); System.out.println("Numer Kowalskiego: " + k); if(studenci.contains("malinowski")) System.out.println("Malinowski jest na liście"); else System.out.println("Malinowskiego nie ma na liście"); Zadanie 2 Bierzemy studenta do tablicy wypisz na ekranie nazwisko losowo wybranej ofiary Wykorzystaj funkcję Math.rand() oraz rozmiar listy (metoda size). Zadanie 3 Napisz program losujący 6 liczb całkowitych z przedziału <1; 49>. Liczby nie mogą się powtarzać. Wypisz wylosowane liczby na ekranie w kolejności rosnącej. Wybierz jedną z metod implementacji: Z użyciem listy (klasa ArrayList), metod Collections.sort() oraz ArrayList.contains(); Z użyciem zbioru (klasa TreeSet). str. 5