Arrays
Reeks gegevens die niet los van elkaar staan: boektitels Arrays Reeks gegevens die niet los van elkaar staan: boektitels 1 2 3 Turks Fruit Het verdriet van België De aanslag De buitenvrouw Reeksen kunnen vastgelegd worden met behulp van arrays. De items in een array worden de elementen genoemd. De elementen van een array moeten allemaal van hetzelfde type zijn. Een element heeft een positie in de array: de index
Maken van arrays Rechthoekige haakjes geven aan dat het een referentie is naar een array van strings en niet naar een gewone string Declaratie: String[] boektitel; Creatie: boektitel = new String[4]; Maximaal aantal elementen dat kan worden opgeslagen. index loopt van 0 t/m 3! Verkort: String[] boektitel = new String[4];
Index geeft de plaats in de array aan. Vullen van arrays Index geeft de plaats in de array aan. Door middel van een toekenning: boektitel[0] =“Turks Fruit”; boektitel[1] =“Het verdriet van België”; boektitel[2] =“De aanslag”; boektitel[3] =“De buitenvrouw”;
Voorbeeld: BoekenlijstApplet Stap 1: declaratie en creatie velden: public class Boekenlijst extends Applet { private int AANTAL = 4; private String[] boektitel = new String[AANTAL]; private String[] boekauteur = new String[AANTAL];
Voorbeeld: BoekenlijstApplet Stap 2: event-handler okKnop: boektitel[0] = "Turks Fruit"; boektitel[1] = "Het verdriet van België"; boektitel[2] = "De aanslag"; boektitel[3] = "De buitenvrouw"; boekauteur[0] = "Jan Wolkers"; boekauteur[1] = "Hugo Claus"; boekauteur[2] = "Harry Mulisch"; boekauteur[3] = "Joost Zwagerman"; for (int t =0; t < AANTAL; t++) { boekenLijst.add(boektitel[t] + ” – “ + boekauteur[t],t); }
Voorbeeld 2: Hoogste waarde zoeken Stap 1: declaratie en creatie velden: public class ZoekMaximumApplet extends Applet { private int AANTAL = 10; private int[] intRij = new int[AANTAL];
Voorbeeld 2: Hoogste waarde zoeken Array met willekeurige getallen vullen. Stap 2: event-handler maximumKnop: intLijst.removeAll(); for (int t = 0; t < AANTAL; t++) { intRij[t] = (int)(Math.random()*100); intLijst.add(String.valueOf(intRij[t]),t); } int maximum = intRij[0]; for (int t = 1; t < AANTAL; t++) { if (maximum < intRij[t]) maximum = intRij[t]; } uitvoerLabel.setText(String.valueOf(maximum)); Grootste getal bepalen door de array langs te lopen.
Methode zoek() Methode zoek() zoekt een bepaalde waarde, in dit geval een boektitel, uit een array. public String zoek(String[] boekRij, String titel) { for(int t = 0 ; t < boekRij.length; t++) { if (boekRij[t].equals(titel)) return boekRij[t] + “ gevonden!”; } return "Titel "+ titel+ " niet gevonden!"; } Argumenten zijn de array waarin gezocht moet worden en de titel waarnaar gezocht wordt. Geeft als resultaat van de methode de boektitel met de medeling gevonden ! Geeft als resultaat van de methode de boektitel met de medeling niet gevonden !
Gebruik methode zoek() event-handler zoekKnop: String boektitel = invoerVeld.getText(); resultaatLabel.setText(zoek(boekenlijst,boektitel));