Mer om repetionssatser och arrayer Lektion 10 Mer om repetionssatser och arrayer
Fält (Arrayer, Vektorer) Om programmet ska hantera data av samma typ är det bra att lagra dessa i s k fält (arrayer, vektorer). Tänk er en bokhylla, där det på varje hyllplan ligger någonting (t ex ett heltal). int[] n = new int[5]; definierar och skapar ett tomt fält (innehåller 0) int[] n = {2, 2, 1, 9, 7}; definierar och skapar ett fält med värden Obs! Postitionerna i fältet är numrerade från 0, d v s första positionen har position 0, sista har n-1, där n är antalet element (platser) i fältet. n 2 2 1 9 7 n[0] n[1] n[2] n[3] n[4]
Fält (Arrayer ,Vektorer) Vill man ta reda på ett värde för en viss position: System.out.print(n[3]); eller lagra en position i en annan variabel: int temp = n[4]; Vill man ta reda på längden för ett fält: int l = n.length; n 2 2 1 9 7 n[0] n[1] n[2] n[3] n[4] temp 7 l 5
Uppgifter 2. Skriv ett program där användaren anger hur många gånger en tärning ska kastas. Resultatet läggs in i ett heltalsfält (array) beroende på vad tärningen visar. Därefter ska programmet skriva ut en tabell för hur resultatet blev: Hur många tärningskast ska göras: 10 Resultat: 1:or 2 2:or 1 3:or 1 4:or 2 5:or 2 6:or 1 int kast = (int)(Math.random()*6+1); slumpar ett tal mellan 1 och 6.
int[] tärning = new int[7]; System.out.print("Hur många tärningskast önskas? "); int antal = Keyboard.readInt(); for (int i = 1; i <= antal; i++) { int slump = (int)(Math.random()*6 + 1); tärning[slump]++; } System.out.println("Resultat: "); for (int i = 1; i < tärning.length; i++) { System.out.println("Antal "+i+":or\t"+tärning[i]);
Uppgifter 3. Lägg till en kolumn för den procentuella andelen från förra uppgiften. Hur många tärningskast ska göras: 10 Resultat: Antal % 1:or 2 20 2:or 1 10 3:or 1 10 4:or 2 20 5:or 2 20 6:or 1 20
int[] tärning = new int[7]; System.out.print("Hur många tärningskast önskas? "); int antal = Keyboard.readInt(); for (int i = 1; i <= antal; i++) { int slump = (int)(Math.random()*6 + 1); tärning[slump]++; } System.out.println("Resultat: "); System.out.println("\t\tAntal\t%"); for (int i = 1; i < tärning.length; i++) { double procent = (double)(tärning[i])/antal; System.out.print("Antal"+i+":or\t”); System.out.println(tärning[i]+"\t"+procent);
Lektionsövning Skriv ett program som ger utskriften nedan då det körs. Skapa en heltalsarray med plats för 5 heltal och låt användaren mata in heltal. Skriv in fem heltal Skriv tal nummer 0: 4 Skriv tal nummer 1: -4 Skriv tal nummer 2: 2 Skriv tal nummer 3: 0 Skriv tal nummer 4: 3 Tredje talet som du matade in var 2 Du matade in dessa tal: 4 -4 2 0 3 Baklänges: 3 0 2 -4 4
Uppgifter Ändra från Uppgift 3 så att summan av två tärningskast summeras och därefter registreras i statistiken. (Kast med två tärningar.) En körning med detta program skulle kunna ge det resultat som du ser i rutan: Kast med två tärningar Hur många kast önskas: 10000 Resultat Antal Antal Relativ prickar kast frekvens(%) 2 –or 278 2.8 3 –or 545 5.5 4 –or 815 8.1 5 –or 1114 11.1 6 –or 1366 13.7 7 –or 1654 16.5 8 –or 1416 14.2 9 –or 1138 11.4 10 –or 848 8.5 11 –or 545 5.5 12 –or 281 2.8
Uppgifter Skriv ett program som skapar en heltalsarray med plats för 6 heltal. Låt därefter användaren mata en heltal på alla platser i arrayen. Låt programmet räkna och skriva ut medelvärdet av de inmatade talen. Låt dessutom programmet skriva ut vilka av de inmatade talen som är störst respektive minst.