1. Nyttige eksempler på arbeid med matriser:

Jeg tror tiden er inne for å gå videre til noen praktiske oppgaver. Vi starter med noen av de enkleste:

Fylle en matrise med 10 tall med tallene fra 0 til 9:
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = i;
}
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Tilordne verdiene fra 0 til 9 til cellene
Fylle en matrise med 10 tall med tallene fra 1 til 10:
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = i + 1;
}
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Tilordne verdiene fra 1 til 10 til cellene
Fylle en matrise med 10 tall med tallene fra 10 til 1:
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = 10 - i;
}
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Tilordne verdiene fra 10 til 1 til cellene

2. Vise tall i omvendt rekkefølge

La oss nå gå videre til mer komplekse og interessante eksempler. Vi starter med følgende oppgave: les 10 tall fra tastaturet og vis dem i omvendt rekkefølge.

Vi vet hvordan vi leser tall fra tastaturet. Men hvordan leser vi 10 tall? Vi kan selvfølgelig lage 10 variabler: a1, a2, osv. Men det ville vært veldig upraktisk. Og hva om vi måtte lese inn 100 tall? Ville vi laget 100 variabler? Som det skjer, har vi nettopp lært om arrays, som er laget for å lagre mange verdier.

Koden for å lese i 10 verdier vil se omtrent slik ut (denne kodebiten vil vises inne i mainmetoden):

Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = console.nextInt();
}
  • Lag et Scannerobjekt
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Les et tall fra tastaturet og lagre det i neste celle i matrisen

Men hvordan skriver du ut verdiene til matrisen i omvendt rekkefølge?

For å gjøre dette trenger vi en løkke til, hvor ivil ta verdier fra 9 til 0 (ikke glem at antall array-indekser starter fra 0). Den endelige programkoden vil se omtrent slik ut:

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]);
}
  • Lag et Scannerobjekt
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Les et tall fra tastaturet og lagre det i neste celle i matrisen
  • Loop fra 9 til 0 (inkludert)
  • Vis neste celle i matrisen


3. Finne minimumselementet i en matrise

La oss ta en titt på en veldig interessant og vanlig oppgave: å finne minimumselementet i en matrise. Vi tar tak i koden vi brukte til å fylle ut matrisen i forrige oppgave:

Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
    array[i] = console.nextInt();
}
  • Lag et Scannerobjekt
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Les et tall fra tastaturet og lagre det i neste celle i matrisen

Nå trenger vi bare å skrive kode som vil finne minimumselementet i arrayet og vise det på skjermen. Hvordan gjør du det?

Vel, for å finne minimumselementet, må du:

  • Ta matrisens første element som "gjeldende minimum".
  • Sammenlign alle elementene i matrisen med den en etter en
  • Hvis det neste elementet er mindre enn "gjeldende minimum", så oppdater verdien av "gjeldende minimum"

Slik vil det se ut 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);
  • Lag et Scannerobjekt
  • Lag et 10-elements matriseobjekt
  • Loop fra 0 til 9 (inkludert)
  • Les et tall fra tastaturet og lagre det i neste celle i matrisen
  • Det nullte elementet i matrisen tas som minimumstall
  • Loop fra 1 til 9 (inkludert)
  • Hvis det nåværende elementet er mindre enn "gjeldende minimum"
  • deretter oppdater verdien av "gjeldende minimum"
  • Vis minimumstallet som ble funnet på skjermen