Presentation laddar. Vänta.

Presentation laddar. Vänta.

Föreläsning 6 Slumptal med Math.random() Typkonvertering (cast) Kap 5.1 Vektorer & matriser (array) Kap 6.1 String[] args Kap 2.3.

Liknande presentationer


En presentation över ämnet: "Föreläsning 6 Slumptal med Math.random() Typkonvertering (cast) Kap 5.1 Vektorer & matriser (array) Kap 6.1 String[] args Kap 2.3."— Presentationens avskrift:

1 Föreläsning 6 Slumptal med Math.random() Typkonvertering (cast) Kap 5.1 Vektorer & matriser (array) Kap 6.1 String[] args Kap 2.3

2 Flytt från sal K1 Onsdags- föreläsningarna är flyttade från sal K1 till sal E1 utom onsdagen den 1 december. Föreläsning 9 (repetition av klasser och metoder) flyttas till 1 december. E1

3 Slumptal I klassen Math finns en metod, random(), som ger slumptal. Metoden är static så man behöver inte skapa ett Math-objekt för att anropa den: double x = Math.random() ; Varje anrop ger ett nytt slumptal i intervallet 0<= x <1.

4 Slumptal - exempel // Slumpar ett myntkast class Mynt { public static void main(String[] args){ double x = Math.random(); if (x<0.5) System.out.println("KRONA"); else System.out.println("KLAVE");

5 Typkonvertering (cast) Används när man explicit vill ändra typen av ett uttryck. Exempel: double x = 2.75; int i = (int) x; i får här värdet 2 Fungerar bara för rimliga konverteringar.

6 Typkonvertering - exempel class Yatzykast { public static void main(String[] args) { for(int i=0;i<5;i++) { double x = 6*Math.random();//0<=x<6.0 int n = 1 + (int)x; //ett till sex System.out.println(n+" "); }

7 Vektor (array) En vektor är en numrerad lista med värden. Varje värde kallas för ett element; värdets nummer kallas för ett index. temp En vektor med N element har index från 0 upp till N-1. En vektor är en numrerad lista med värden. Varje värde kallas för ett element; värdets nummer kallas för ett index. temp En vektor med N element har index från 0 upp till N

8 Element Man kan komma åt ett visst element i vektorn via dess index: temp[3] Varje element fungerar som en variabel. Exempel: temp[3]=37.9; System.out.println(temp[3]);

9 Skapa vektor En vektor är ett objekt. Därför använder man normalt new när man skapar en ny vektor. Man måste också ange antal element. Exempel: double[] temp = new double[7]; Alternativ: Ge vektorn värden från början: int[] v = {29, 36, 25, 32};

10 Hur ser man längden? Ett vektorobjekt har en fix längd - använd konstanten length för att få fram den. Exempel: for (int i=0; i

11 Vektor - exempel class Minigolf1 { //en spelare public static void main(String[] args) { int[] linda = new int[9]; for(int j = 0; j < linda.length; j++){ linda[j] = 1 + (int)(8*Math.random()); System.out.print("Bana "+(j+1)+":"); System.out.println(" Linda " + linda[j] ); } int summa = 0; for(int j = 0; j < linda.length; j++) summa += linda[j]; System.out.println("Totalt ” + summa); }

12 Matris En vektor med flera index kallas en matris. int[][] slag = new int[2][9]; Dubbla for-slingor krävs vid t ex utskrift: for(int i = 0; i < 2; i++){ for(int j = 0; j < 9; j++){ System.out.print(slag[i][j] + " "); } System.out.println(); }

13 class Minigolf3 { public static void main(String[] args){ int n = 9; //antal banor String[] namn = {" Linda "," Hempa "}; int m = namn.length(); //antal spelare int[][] slag = new int[m][n]; for(int i = 0; i < n; i++){ System.out.print("Bana "+(i+1)+":"); for(int j = 0; j < m; j++){ slag[j][i]=1+(int)(8*Math.random()); System.out.print(namn[j] + ":"); System.out.println(slag[j][i] + " "); } System.out.println(); }

14 Hur ser matrisen ut?

15 Vektorer som parametrar Man kan skicka med en hel vektor som parameter till en metod. int[] sum = new int[m];... in max = best(sum); Eftersom en vektor är ett objekt kan metoden ändra på elementen.

16 Vektor som parameter - exempel static int best(int[] v){ int best = 0; for(int i = 0; i < v.length; i++){ if(v[i] < v[best]) best = i; } return best; }

17 Vad är String[] args i main? När man kör programmet kan man skriva extra värden på kommandoraden. Exempel: java Minigolf4 Linda Hempa Elon Dessa värden hamnar i parametern args som är en vektor med strängar.

18 String[] args - exempel class Minigolf4 { public static void main(String[] args){ String[] namn = args; int m = namn.length; //antal spelare

19 Vektor med objekt Det går bra att lagra objekt i en vektor. Deklaration av vektorn: Person[] spelare = new Person[m]; Skapa nytt Person-objekt för varje element: spelare[0] = new Person(namn[0]); spelare[i] refererar till Person-objektet på plats i

20 Vektor med objekt - exempel class Minigolf5 { public static void main(String[] args){ String[] namn = args; int m = namn.length; Person[] spelare = new Person[m]; for(int i = 0; i < m; i++){ spelare[i] = new Person(namn[i]); spelare[i].spela(); }


Ladda ner ppt "Föreläsning 6 Slumptal med Math.random() Typkonvertering (cast) Kap 5.1 Vektorer & matriser (array) Kap 6.1 String[] args Kap 2.3."

Liknande presentationer


Google-annonser