Presentation laddar. Vänta.

Presentation laddar. Vänta.

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning.

Liknande presentationer


En presentation över ämnet: "Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning."— Presentationens avskrift:

1 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning 10

2 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Ett program med fält Skriv ett program vilket: Skapar ett fält med 10 heltal (int) Fyller fältet med 10 slumptal, samtliga i intervallet 1- 20. Inget slumptal får förekomma två gånger i fältet. Ev kan en metod, public static boolean finns(int tal, int[] fält) vara användbar. Skriver ut innehållet i fältet F9.java

3 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält - Vektorer - Arrays En fält-variabel (referensvariabel) deklareras så här: int[] slumptal; Antalet element i fältet bestäms med new-operatorn: slumptal = new int[1000]; double[] längd = new double[120]; String[] ord = new String[10]; Man kan bestämma fältets storlek och innehåll genom initiering: char[] vokaler = {’a’,’e’,’i’,’o’,’u’,’y’,’å’,’ä’,’ö’}; Man kommer åt de olika elementen i fältet genom att ange index: slumptal[7] = (int)(Math.random()*100); längd[0] = 183.4;//Första index är alltid 0 System.out.println(”Tredje vokalen: ”+char[2]); antalTecken = ord[5].length(); Antalet element som fältet rymmer finner man med length. Length har man ofta användning av i for-loopar. antalElement = slumptal.length; // antalTecken = 1000; for(int i=0; i<ord.length; i++) { System.out.println(ord[i]); } Slumpfalt.java TestSlumpfalt.java

4 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde FaltEx3.java

5 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Sortering av fält - klassen Arrays Det finns ett flertal algoritmer för att sortera ett fält, t.ex. Selectionsort, Bublesort och Quicksort. De två första är enklast att implementera men ej så effektiva om fältet är stort (>1000 element). I klassen Arrays finns metoder för sortering. Implementeringen är av typen Quicksort. Man måste importera klassen Arrays från paketet java.util: import java.util.Arrays;// eller import java.util.*; Sedan anropar man metoden sort(klassmetod): Arrays.sort(fältnamn); Sortering.java

6 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Selectionsort Strategi vid Selectionsort (växande): Titta på elementen i positionerna 0-(fält.length-1) och skifta det minsta elementet med elementet i position 0. Titta på elementen i positionerna 1-(fält.length-1) och skifta det minsta elementet med elementet i position 1. Titta på elementen i positionerna 2-(fält.length-1) och skifta det minsta elementet med elementet i position 2. : Titta på elementen i positionerna (fält.length-2) -(fält.length-1) och skifta det minsta elementet med elementet i position (fält.length-2).

7 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Selectionsort SelectionSort.java Sortering2.java

8 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Sökning i fält - klassen Arrays Om ett fält är osorterat får man söka fältet linjärt, dvs. från början till slut. Om man hittar det sökta elementet så kan man avbryta sökningen. for(int i=0; i<fält.length; i++) if(fält[i]==söktVärde) return i; return -1; Om ett fält är sorterat kan man göra en binär sökning. Man börjar med mittenelementet. Är det mindre än det sökta elementet gör man en ny sökning i den övre halvan och annars i den nedre halvan. På detta viset halverar man antalet element att söka bland vid varje sökning. I klassen Arrays finns metoden binarySearch vilken kan användas vid sökning. GissaTal.java Search.java

9 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Tvådimensionella fält Ett fält kan ha flera dimensioner. I detta fall kommer man åt elementen genom flera index-angivelser. Exempel: Tvådimensionellt fält Deklaration av fält med 2 rader, 5 kolumner int[ ][ ] nederbörd = {{1,4,3,2,5},// 2 rader {7,3,3,2,1}};// 5 kolumner double[ ][ ] temperatur = new double[2][5]; Cirkel[ ][ ] cirklar = new Cirkel[2][5]; FlerDim.java Dubbelkast.java

10 Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Tre i rad SPELPLAN OCH FÄLT Hur lagrar man ställningen? Hur ritar man spelplanen? Hur flyttar man en pjäs? HÄNDELSEHANTERING Hur registrerar man klick? Hur vet man var klicket skedde? TreIRad.java


Ladda ner ppt "Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning."

Liknande presentationer


Google-annonser