Arrays

14
Arrays Pepper

description

Arrays. Pepper. What is an Array. A box that holds many of the exact same type in mini-boxes A number points to the mini-box The number starts at 0 String is an array Ex: Array of money earned in the top row of a Jeopardy board:. Defining an Array. i nt [] intJeopardy = new int [7] - PowerPoint PPT Presentation

Transcript of Arrays

Arrays

Pepper

What is an Array• A box that holds many of the exact same type

in mini-boxes• A number points to the mini-box• The number starts at 0• String is an array • Ex: Array of money earned in the top row of a

Jeopardy board:100 -100 0 200 300 0 0

0 1 2 3 4 5 6

Defining an Array

int[] intJeopardy = new int[7]•6 is the highest subscript•Array holds 7 items [called its length]•Note the number used to create it is the length – 1 •This would create the exact same array, plus put in initial values:int[] intJeopardy = {0,0,0,0,0,0,0}

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

Getting to an Array mini-box

• x = intJeopardy[1] ; means x will get the value -100• intJeopardy[3] = 500;

means the 200 will change to 500• for (int intCount = 0 ; intCount<= 6; intCount++){ intJeopardy[intCount] = 100; } means every value will change to 100• intJeopardy[7] will CRASH

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

Getting to an Array mini-box

What will the box look like after these statements:intX = 3;intJeopardy[1] = 500;intJeopardy[4] = intX;intJeopardy[intX] = 70;intJeopardy[2+intX] = 600;intJeopardy[6] = intX+5;

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

Create your own Array

In BlueJSet up an intJeopardy array with 7 elements and set some values, and then show the values of those elements by printing them: Put 600 in the first box Put 100 in the 4th box (box 3)

Create your own Array SolutionIn BlueJSet up an intJeopardy array with 7 elements and set some values, and then show the values of those elements by printing them: int [] intJeopardy = new int[7]intJeopardy[3] = 100intJeopardy[0] = 600System.out.println( intJeopardy[3] + “ is the value in box 3”]System.out.println( intJeopardy[0] + “ is the value in box 0”]

Initializing an Array

How do you set all values in the array to 0? Hint: a for loop from 0 to 6 could give you all the subscripts in the loop

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

for (int intCount = 0 ; intCount<=6; intCount++){ intJeopardy[intCount] = 0; }

More using an Array

What will this do? System.out.println(“Enter a number”);intJeopardy[4] = scan.NextInt();

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

Resolve right side:• scan.NextInt();•gets a number from the userPut into left side variable•Puts the number into the mini-box above #4

Total the Value Held

• Loop through the array mini-boxes adding the values

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

int intTot = 0; for (int intCount = 0; intCount <= 6; intCount++){ intTot = intJeopardy[intCount] + intTot;}System.out.println(“The total money earned in the top row is “ + intTot);

Parallel ArraysintJeopardy: Cash Value of each box:

intPlayed: Played indicator of each box:

Has Jeopardy question 5 been played?Does the 0 in box 5 mean the question hasn’t been played, or that it earned 0 points?Show a message saying the 0 is the score or not

100 -100 0 200 300 0 0

0 1 2 3 4 5 6

True True False True True True false

0 1 2 3 4 5 6

if (intPlayed[5] == true) { System.out.println( intJeopardy[5] + “ is the score” );}else { System.out.println( intJeopardy[5] + “ is not the score”);}

Two Dimensional Arrays100 -100 0 200 300 0 0

200 500 66 666 0 6 300

0 1 2 3 4 5 6

0

1

int [][] intJeopardy= new int[1][6] ;intJeopardy[1][4] is value 666intJeopardy[0][4] is value 200What is intJeopardy[0][0] value: What is intJeopardy[1][6] value: What is intJeopardy[1][3] value:What is intJeopardy[2][6] value:What is intJeopardy[1][7] value:

Array of ObjectsYou can have an array of objects: Player class holds name and score. Player [] objPlayer = new Player[3];objPlayer[1].name = “Carrie”;objPlayer[1].score = 50;What is objPlayer[3].score?What is objPlayer[0].name?What is objPlayer[2].name?

0 1 2 3

carrie

50

mary

100

amy

90

john

0

Functions using Arrays

• An array variable is actually a pointer to the set of boxes, so…– Methods can change the mini-boxes in the main

program [though it cannot repoint to another location]

• Defining in method header:– Use [] after the variable type, and all else the same– Don’t know how big it will be, so leave [] empty

public static int[] mymethod(int[] arrayin){