1. Przydatne przykłady pracy z tablicami:
Myślę, że czas przejść do zadań praktycznych. Zacznijmy od kilku najprostszych:
Wypełnianie tablicy 10 liczb liczbami od 0 do 9: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i;
}
|
- Utwórz obiekt tablicy z 10 elementami
- Pętla od 0 do 9 włącznie
- W komórkach wpisujemy wartości od 0 do 9
|
Wypełnianie tablicy 10 liczb liczbami od 1 do 10: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i + 1;
}
|
- Utwórz obiekt tablicy z 10 elementami
- Pętla od 0 do 9 włącznie
- Wypełnij komórki wartościami od 1 do 10.
|
Wypełnianie tablicy 10 liczb liczbami od 10 do 1: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = 10 - i;
}
|
- Utwórz obiekt tablicy z 10 elementami
- Pętla od 0 do 9 włącznie
- Wprowadź wartości w komórkach od 10 do 1
|
2. Drukowanie numerów w odwrotnej kolejności
Przejdźmy teraz do bardziej złożonych i interesujących przykładów. Zaczniemy od tego zadania: musisz wprowadzić 10 cyfr z klawiatury i wydrukować je w odwrotnej kolejności.
Wiemy, jak wprowadzać cyfry z klawiatury. A jak wpisać 10 cyfr? Możesz oczywiście utworzyć 10 zmiennych: а1
, а2
, itd. Ale po pierwsze jest to niewygodne. Po drugie, jeśli musimy wprowadzić 100 liczb, czy stworzymy 100 zmiennych? I po trzecie, właśnie nauczyliśmy się tablic, które są po prostu tworzone do przechowywania dużej liczby wartości.
Kod do wpisania 10 wartości będzie wyglądał mniej więcej tak (kod podajemy tylko wewnątrz metody main
):
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
|
- Utwórz obiekt
Scanner
- Utwórz obiekt tablicy z 10 elementami
- Pętla od 0 do 9 włącznie
- Odczytujemy liczbę z klawiatury i zapisujemy ją w następnej komórce tablicy
|
Ale jak wyświetlić wartości tablicy w odwrotnej kolejności?
Aby to zrobić, potrzebujemy kolejnej pętli, w której i
przyjmie wartości od 9 do 0 (nie zapomnij, że indeksy tablicy są numerowane od 0). Ostateczny kod programu będzie wyglądał mniej więcej tak:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
for (int i = 9; i >= 0; i--) {
System.out.println(array[i]);
}
|
- Utwórz obiekt
Scanner
- Utwórz obiekt tablicy z 10 elementami
- Pętla od 0 do 9 włącznie
- Odczytujemy liczbę z klawiatury i zapisujemy ją w następnej komórce tablicy
- Cykl od 9 do 0 włącznie
- Wyświetlanie następnej komórki tablicy
|
3. Znajdowanie minimalnego elementu w tablicy
Przyjrzyjmy się jednemu bardzo interesującemu i często spotykanemu problemowi - znajdowaniu minimalnego elementu w tablicy. Weźmy kod wypełniający tablicę z poprzedniego zadania:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
|
- Utwórz obiekt
Scanner
- Utwórz obiekt tablicy z 10 elementami
- Pętla od 0 do 9 włącznie
- Odczytujemy liczbę z klawiatury i zapisujemy ją w następnej komórce tablicy
|
Pozostaje nam napisać kod, który znajdzie element minimalny w tablicy i wyświetli go na ekranie. Jak to zrobić?
Cóż, aby znaleźć minimalny element, którego potrzebujesz:
- Weź pierwszy element tablicy jako „aktualnie znalezione minimum”.
- Porównaj z nim wszystkie elementy tablicy jeden po drugim
- Jeśli następny element tablicy jest mniejszy niż „bieżące minimum”, zaktualizuj wartość „bieżącego elementu minimalnego”
Oto jak wyglądałoby to w kodzie:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
int min = array[0];
for (int i = 1; i < 10; i++) {
if (array[i] < min)
min = array[i];
}
System.out.println(min);
|
- Utwórz obiekt
Scanner
- Utwórz obiekt tablicy z 10 elementami
- cykl od 0 do 9 włącznie
- Odczytujemy liczbę z klawiatury i zapisujemy ją w następnej komórce tablicy
- Jako liczbę minimalną przyjęto element zerowy tablicy
- Pętla od 1 do 9 włącznie
- Jeśli bieżący element tablicy jest mniejszy niż „znaleziona minimalna liczba”
- następnie „zaktualizuj wartość minimalnej liczby”
- Wyświetl znalezioną minimalną liczbę na ekranie
|