• No results found

Arrays of Arrays. Content Learning Objectives. Process Skill Goals

N/A
N/A
Protected

Academic year: 2022

Share "Arrays of Arrays. Content Learning Objectives. Process Skill Goals"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Arrays of Arrays

In Java, a multidimensional array is an array whose elements are themselves arrays. You can declare an “array of arrays” by using two or more sets of brackets, such asString[][].

Manager: Recorder:

Presenter: Reflector:

Content Learning Objectives

After completing this activity, students should be able to:

• Write nested for loops to traverse a two-dimensional array.

• Explain differences between rectangular and ragged arrays.

• Use two-dimensional arrays to model real-world problems.

Process Skill Goals

During the activity, students should make progress toward:

• Rewriting a group of repetitive statements as a for loop. (Information Processing)

Copyright © 2021 Chris Mayfield, Helen Hu, and Dee Weikle. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

(2)

Model 1 Rectangular Array

1 import java.util.Arrays; // for toString

2

3 public class Rectangular {

4 public static void main(String[] args) {

5 char[][] table = {

6 {'A', 'B', 'C'},

7 {'D', 'E', 'F'},

8 {'G', 'H', 'I'},

9 {'J', 'K', 'L'},

10 };

11 System.out.println(table.length);

12 System.out.println(table[0].length);

13 System.out.println(table[1][2]);

14 System.out.println(Arrays.toString(table));

15 }

16 }

table

row 0 row 1 row 2 row 3

'A' 0

'B' 1

'C' 2

'D' 0

'E' 1

'F' 2

'G' 0

'H' 1

'I' 2

'J' 0

'K' 1

'L' 2

Questions (25 min) Start time:

1. Run the program. What is the output of the following expressions?

a) table.length b) table[0].length c) table[1][2]

d) Arrays.toString(table)

2. Based on the model, what is the data type of the following expressions? Please answer using Java syntax, for example:String[]

a) table b) table[0] c) table[1][2]

3. Explain the output of Arrays.toString(table). What exactly is stored in the array refer- enced by the variabletable?

4. Consider the expressiontable[1][2].

a) Which index (1 or 2) represents the row number?

b) Which index (1 or 2) represents the column number?

(3)

5. What is the result of the following expressions?

a) table[2][1]

b) table[0][0]

c) table[3][2]

d) table[2][3]

Presenter: Implement your team’s answers for the following questions in Model1.java, at the end of the main method. Make sure the code compiles and runs correctly.

6. Write three statements to print the first row of the table, one letter at a time. The output should beA B C with a space after each letter.

7. Summarize the main difference in these three lines of code.

8. Rewrite your previous code using a for loop. Name the loop variable col (instead of i).

Your code should work for any number of columns (not just 3).

9. Copy your answer to the previous question and paste it below two times. Modify the code so that it prints row 2 and row 3. Addprintln statements so that each row ends with a newline.

10. Summarize the main differences in these twoforloops.

(4)

11. Rewrite your previous code using nestedforloops. Name the outer loop variablerow and the inner loop variablecol. Your code should work for any number of rows and columns.

12. How would you modify your code in the previous question to print only the top half of the table? (You may assume there is an even number of rows.)

(5)

Model 2 Ragged Array

1 public class Ragged {

2 public static void main(String[] args) {

3 char[][] ragged = new char[3][];

4 ragged[0] = new char[5];

5 ragged[1] = new char[9];

6 ragged[2] = new char[12];

7

8 char letter = 'A';

9 ragged[0][0] = letter;

10 letter++;

11 System.out.println(letter);

12 }

13 }

ragged

row 0 row 1 row 2

'A'

0 1 2

0 1 2

0

3 4

3 4 5 6 7 8

2 3 4 5 6 7 8

1 9 10 11

Questions (20 min) Start time:

13. Based on themain method above:

a) How many rows are in this 2D array?

b) How many columns are in the first row?

c) How many columns are in the second row?

d) How many columns are in the third row?

14. Run the program. What is the value ofletter at the end?

15. Describe what happens when you increment acharvariable.

(6)

16. Summarize the main difference in shape between the “rectangular” array of Model 1 and the “ragged” array of Model 2.

17. Examine your code for Question #11. Would it work for theragged array? Explain why or why not.

18. Complete the following steps to fill the contents of theragged array:

a) Copy your code from Question #11 and paste it in Model2.java at the end of the main method. Replace the variabletable with ragged so that it compiles.

b) Comment out lines 9–11 so thatletter is not modified and printed before the first loop.

c) Modify your code so that it sets the first element ofragged to 'A', the second element to 'B', and so on, until the last element is set to 'Z'. (Hint: Move lines 9–10 into the loop.) d) Copy your code from Question #11 again and paste it in Model2.java at the end of the

main method. Run the program to verify that all letters were set correctly.

e) Summarize or paste your code from step c) in the space below:

19. Which kind of 2D array (rectangular or ragged) would you use to represent the lanes of a highway, where the array elements are car objects? Justify your answer.

20. Which kind of 2D array (rectangular or ragged) would you use to represent a matrix in mathematics, where the array elements are integers? Justify your answer.

References

Related documents

Methods: A sample of 59 adult high risk males detained in a high secure hospital completed questionnaires at baseline and post treatment to assess violent attitudes, anger,

A student who obtains a pass mark in all twelve courses of the programme, Research Methods and in the Groupwork Project shall be deemed to have satisfied the examiners

Monitor method performance; update as needed as process and analytical technology evolves Target Measurement Select Technique Risk assessment Method Develop/ Val Control

Appendix D: Training    PowerPoint Template: 

Learn best practices for writing Java code that uses variables, arrays, conditional and loop constructs to achieve program objectives from Java in-house experts; identify

The positive and signi…cant coe¢ cient on the post shipment dummy in the fourth column implies that prices charged in post shipment term transactions are higher than those charged

 Wide Range of Applications for Low Voltage System  Digital TV Power Supply..  High Definition Blu-ray Disc Players  Networking

Also, on certain occasions, unimportant attributes may achieve a higher Z score than the most important shadow attribute, and this is the reason why we need multiple random forest