Szósta prezentacja do kursu „Wstęp do programowania„.
Treść: Tablice cz. I – tablice jednowymiarowe, tworzenie, wypełnianie wartościami, pobieranie wartości.
Ta strona jest częścią starego kursu Javy. Nowy kurs, pt. “Programowanie w Javie z elementami bioinformatyki dla poczatkujących”, jest znacznie rozszerzony i dostosowany fo Javy 8. Jego forma jest także znacznie bardziej przystępna dla korzystających wyłącznie z treści on-line. Dostępne materiały znajdziesz tutaj.
Tworzenie tablic z imionami
Różne sposoby (mniej i bardziej efektywne) tworzenia, wypełniania i odwoływania się do wartości w tablicach przechowujących elementy typu String
.
public class Tablica { public static void main(String[] args) { // Deklarowanie i inicjowanie tablicy o 10 polach przechowującej elementy typu String String[] studenci = new String[10]; // "ręczne" wypełnianie tablicy imionami - mało efektywne studenci[0] = "Marcin"; studenci[1] = "Maria"; studenci[2] = "Anna"; studenci[3] = "Małgorzata"; studenci[4] = "Andrzej"; studenci[5] = "Agnieszka"; studenci[6] = "Paulina"; studenci[7] = "Jagoda"; studenci[8] = "Izabela"; studenci[9] = "Robert"; //Deklaracja i od razu wypełnienie wartościami drugiej tablicy String[] studenci2 = {"Marcin", "Maria", "Anna", "Małgorzata", "Andrzej", "Agnieszka", "Paulina", "Jagoda", "Izabela", "Robert"}; //wypisanie imion z tablicy - mało efektywne System.out.println("Studenci: "+studenci[0]+", "+studenci[1]+ ", "+studenci[2]+", "+studenci[3]+", "+studenci[4]+", "+studenci[5]+ ", "+studenci[6]+", "+studenci[7]+", "+studenci[8]+", "+studenci[9]); // Wypisanie imion z tablicy - bardziej efektywne System.out.print("Studenci: "); for (String imie : studenci2) { System.out.print(imie+", "); } } }
Tablice przechowujące różnego rodzaju elementy
Tworzenie tablic przechowujących elementy różnego typu i sprawdzanie jakie mają wartości domyślne.
public class TworzenieTablic { public static void main(String[] args) { //Tworzymy tablicę dla elementów typu String i sprawdzamy wartość domyślną String[] imiona = new String[10]; System.out.println("imiona[2] = "+imiona[2]); //Tworzymy tablicę dla elementów typu int i sprawdzamy wartość domyślną int[] liczbyInt = new int[10]; System.out.println("liczbyInt[2] = "+liczbyInt[2]); //Tworzymy tablicę dla elementów typu double i sprawdzamy wartość domyślną double[] liczbyDouble = new double[10]; System.out.println("liczbyDouble[2] = "+liczbyDouble[2]); //Tworzymy tablicę dla elementów typu boolean i sprawdzamy wartość domyślną boolean[] wartosciBoolean = new boolean[10]; System.out.println("wartosciBoolean[2] = "+wartosciBoolean[2]); } }
Dłuższe tablice z liczbami
Wypełnianie w pętli tablicy elementami typu int
oraz różne sposoby odwoływania się do zawartości tabeli.
public class WypelnianieTablic { public static void main(String[] args) { int[] tablica = new int[100]; // Uzyskanie długości tablicy System.out.println("Tablica ma "+tablica.length+" komórek"); // Wypełnianie tablicy liczbami od 0 do 99 for (int i=0; i<tablica.length; i++) { tablica[i]=i; } // Sprawdzamy zawartość wybranej komórki System.out.println("tablica[10] to "+tablica[10]); // Wypisanie wartości wszystkich komórek for (int i=0; i<tablica.length; i++) { System.out.print(tablica[i]+", "); } System.out.println(); // Wypisanie zawartości tabeli po 10 liczb w rzędzie, zawsze dwucyfrowych (np. 08) for (int i=0; i<tablica.length; i++) { // jeśli liczba jednocyfrowa, dodajemy 0 przed liczbą if (i<10) System.out.print("0"+tablica[i]+", "); else System.out.print(tablica[i]+", "); // jeśli większe niż 0 i pełna dziesiątka // (czyli dzielenie przez 10 zwraca 0) wstawiamy nową linię if (i>0 &amp;amp;amp;amp;&amp;amp;amp;amp; (i+1)%10==0) System.out.println(); } // Użycie pętli foreach do wypisania wartości tablicy for (int l : tablica) { System.out.print(l+" "); } } }
Rozwiązanie zadania
Treść zadania:
- Utwórz tablicę 10-elementową zawierającą dowolne liczby całkowite, nieujemne. Napisz kod który znajduje w tej tablicy największą liczbę.
- Dodatkowo: zmodyfikuj program tak, aby po uruchomieniu użytkownik wprowadzał liczby, które są następnie zapisywane w tabeli, a następnie program wyszukiwał największą z nich.
- Dodatkowo: zmodyfikuj program tak, aby użytkownik na początku podał, ile liczb chce wpisać i tyle liczb powinien program od użytkownika przyjąć.
import java.util.Scanner; public class Najwieksza { public static void main(String[] args) { Scanner skaner = new Scanner(System.in); System.out.println("Podaj ile liczb chcesz wpisać "); // Pobranie długości tablicy od użytkownika String liczbaLiczb = skaner.nextLine(); // Przekształcamy (parsujemy) podaną wartość, która // jest łańcuchem snaków (String) na liczbę typu int int dlTabeli = Integer.parseInt(liczbaLiczb); // Tworzymy tabelę o zadanej długości int[] liczby = new int[dlTabeli]; // Wędrujemy to tablicy wpisując do komórek kolejne // liczby podawane przez użytkownika // i - to numer bierzącej komórki for (int i=0; i<liczby.length; i++) { System.out.println("Podaj "+ (i+1) +" liczbę z "+dlTabeli); String liczba = skaner.nextLine(); // wpisanie wartości do komórki i w tabeli "liczby" liczby[i] = Integer.parseInt(liczba); } int max = -1; // Wędrujemy ponownie po tablicy, tym razem pobierając // wartości komórek i przypisując je do zmiennej "l" for (int l : liczby) { // Jeśli bierząca wartość komórki jest > niż największa // z dotychczasowych liczb (przecowywana w zmiennej "max")... if (l > max) { //... to wpisz bierzącą wartość komórki do zmiennej max max = l; } } // Na końcu drukujemy największą liczbę na ekranie System.out.println("Największa liczba to: "+max); }
Spoko poradnik :D