1. Nyttige eksempler på arbejde med arrays:
Jeg tror, tiden er inde til at gå videre til nogle praktiske opgaver. Vi starter med nogle af de enkleste:
| Udfyldning af en matrix med 10 tal med tallene fra 0 til 9: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i;
}
|
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Tildel værdierne fra 0 til 9 til cellerne
|
| Udfyldning af en matrix med 10 tal med tallene fra 1 til 10: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i + 1;
}
|
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Tildel værdierne fra 1 til 10 til cellerne
|
| Udfyldning af en matrix med 10 tal med tallene fra 10 til 1: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = 10 - i;
}
|
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Tildel værdierne fra 10 til 1 til cellerne
|
2. Visning af tal i omvendt rækkefølge
Lad os nu gå videre til mere komplekse og interessante eksempler. Vi starter med følgende opgave: Læs 10 tal fra tastaturet og vis dem i omvendt rækkefølge.
Vi ved, hvordan man læser tal fra tastaturet. Men hvordan læser vi 10 tal? Vi kunne selvfølgelig lave 10 variable: a1, a2, osv. Men det ville være super ubelejligt. Og hvad nu hvis vi skulle læse i 100 tal? Ville vi oprette 100 variable? Som det sker, har vi lige lært om arrays, som er skabt til at gemme masser af værdier.
Koden til at læse i 10 værdier ville se nogenlunde sådan ud (dette uddrag ville blive vist inde i metoden main):
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
|
- Opret et
Scannerobjekt
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Læs et tal fra tastaturet og gem det i den næste celle i arrayet
|
Men hvordan udskriver du værdierne for arrayet i omvendt rækkefølge?
For at gøre dette har vi brug for en mere sløjfe, hvor ivil tage værdier fra 9 til 0 (glem ikke, at antallet af array-indekser starter fra 0). Den endelige programkode vil se nogenlunde sådan ud:
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]);
}
|
- Opret et
Scannerobjekt
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Læs et tal fra tastaturet og gem det i den næste celle i arrayet
- Loop fra 9 til 0 (inklusive)
- Vis den næste celle i arrayet
|
3. Find minimumselementet i et array
Lad os tage et kig på en meget interessant og almindelig opgave: at finde minimumselementet i et array. Vi tager den kode, vi brugte til at udfylde arrayet i den forrige opgave:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
|
- Opret et
Scannerobjekt
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Læs et tal fra tastaturet og gem det i den næste celle i arrayet
|
Nu skal vi bare skrive kode, der finder minimumselementet i arrayet og viser det på skærmen. Hvordan gør du det?
Nå, for at finde minimumselementet skal du:
- Tag arrayets første element som det "aktuelle minimum".
- Sammenlign alle elementerne i arrayet med det én efter én
- Hvis det næste element er mindre end det "aktuelle minimum", skal du opdatere værdien af det "nuværende minimum"
Sådan vil det se ud i kode:
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);
|
- Opret et
Scannerobjekt
- Opret et array-objekt med 10 elementer
- Loop fra 0 til 9 (inklusive)
- Læs et tal fra tastaturet og gem det i den næste celle i arrayet
- Det nulte element i arrayet tages som minimumtal
- Loop fra 1 til 9 (inklusive)
- Hvis det aktuelle element er mindre end det "aktuelle minimum"
- opdater derefter værdien af det "aktuelle minimum"
- Vis det fundne minimumtal på skærmen
|
GO TO FULL VERSION