16
COP2800 – Computer Programming Using JAVA University of Florida Department of CISE Spring 2013 Lecture 13 – Having Fun with Arrays in Java Webpage: www.cise.ufl.edu/~mssz/JavaNM/Top- Level.html

COP2800 – Computer Programming Using JAVA

  • Upload
    zoey

  • View
    19

  • Download
    0

Embed Size (px)

DESCRIPTION

COP2800 – Computer Programming Using JAVA. University of Florida Department of CISE Spring 2013 Lecture 13 – Having Fun with Arrays in Java Webpage : www.cise.ufl.edu/~mssz/JavaNM/Top-Level.html. COP2800 – Programming in JAVA. Course Objectives - PowerPoint PPT Presentation

Citation preview

Page 1: COP2800 – Computer Programming Using JAVA

COP2800 – Computer Programming Using JAVA

University of Florida Department of CISE Spring 2013

Lecture 13 – Having Fun with Arrays in Java

Webpage: www.cise.ufl.edu/~mssz/JavaNM/Top-Level.html

Page 2: COP2800 – Computer Programming Using JAVA

COP2800 – Programming in JAVA

• Course Objectives– Basic Knowledge of Computers & Programming– Specific Knowledge of JAVA Programming– Practical Programming Projects Build Skills

• Today’s Class– What Can We Do With Arrays?– Applications of Arrays in Java• Parameterization • Ordering Integers: “Injection Sort”

Page 3: COP2800 – Computer Programming Using JAVA

Review: Java Program StructureHIGH-LEVEL VIEW

JAVA Units:- Packages- Classes (Instances)- Methods- Instructions- Variables

PICTURE CREDIT: http://www.webbasedprogramming.com/JAVA-Developers-Guide/ch4.htm

Page 4: COP2800 – Computer Programming Using JAVA

Review: Java Package Structure

PICTURE CREDIT: http://users.soe.ucsc.edu/~charlie/book/notes/summary1-4/sld016.htm

Page 5: COP2800 – Computer Programming Using JAVA

What Is An Array?

Arrays Are• Regular, periodic data structures• 1-D : A vector of values (1,4,37,3)• 2-D : A matrix (like mailboxes at the Post

Office)

Arrays Are Used For• Storing Values for Regular Accessibility• Sorting and Searching• Regularizing Variable-Length Data

Page 6: COP2800 – Computer Programming Using JAVA

Review: 1-D Array

One-Dimensional Array:

Image Credit: 123codegenerator.blogspot.com

4 13 35 2 19 8 ARRAY ELEMENT VALUES

Array Name = “a”

0 1 2 3 4 5

a[1] = 13 a[5] = 8JAVA Arrays Are Zero-Indexed:0, 1, …, N-1

Page 7: COP2800 – Computer Programming Using JAVA

Let’s Do a 1-D Array with For Loop

One-Dimensional Array: Array Name = “a”

// Declare the array (1-D, 6 elements) int a[] = new int[6] ;

// Put the loop index into the array

for (int i = 0, i < a.length, i++) { a[i] = 2 * i; }

RESULT: a = (0, 2, 4, 6, 8, 10)

Page 8: COP2800 – Computer Programming Using JAVA

Let’s Do Sorting with a 1-D Array

What is Sorting?Sorting is an operation that orders values in a predetermined (e.g., ascending or descending) order.

Ex: {3, 4, 0, 2, 1, 4} (0, 1, 2, 3, 4, 4)

The simplest sorting algorithm is injection sort.

SORT

Set Sequence

Page 9: COP2800 – Computer Programming Using JAVA

Injection Sorting with a 1-D Array

One-Dimensional Array: Input Array = “a”// 1: Declare the array (1-D, 6 elements) int a[] = {3, 4, 0, 2, 1, 4}; int b[] = {0, 0, 0, 0, 0, 0};

// 2: Inject the values of a as loop indices for (int i = 0, i < a.length, i++) { b[a[i]]++; }

// 3: Print sorted values (ascending order) for (int i = 0, i < b.length, i++) { if b[i] != 0 {System.out.print(i)}; }

b = (1, 1, 1, 1, 2, 0)

Page 10: COP2800 – Computer Programming Using JAVA

Review: 2-D Array

Two-Dimensional Array: Array Name = “a2”

Image Credit: 123codegenerator.blogspot.com

27 4 49 3

6 8 13 77

ARRAY ELEMENT VALUES

a2[0,2] = 49

0

1

0 1 2 3

JAVA Arrays Are Zero-Indexed:0, 1, …, N-1

Page 11: COP2800 – Computer Programming Using JAVA

Let’s Do a 2-D Array with For Loop

Two-Dimensional Array: Array Name = “a2”// Declare the array (2-D, 2 rows x 4 cols) int Nrows = 2; int Ncols = 4; int a2[][] = new int[Nrows][Ncols] ;// Put the sum of loop indices into array for (int i = 0, i < Nrows, i++) { for (int j = 0, j < Nrows, j++) { a2[i][j] = i + j; } }

RESULT: Row 0 of a2 = (0, 1, 2, 3)Row 1 of a2 = (1, 2, 3, 4)

Page 12: COP2800 – Computer Programming Using JAVA

Case 1: the “Bins” Array (Asn-2)

Two-Dimensional Array: Array Name = “Bins”// Declare array (2-D, NBins rows x 4 cols) float a2[][] = new float[NBins][3] ;

Anatomy: Dimension #1 = Bin Number(from 0 to Nbins-1)

Dimension #2 = Parameters: 1 – Lower Bound of Test Interval 2 – Upper Bound of Test Interval 3 – Count of Numbers in Bin

Page 13: COP2800 – Computer Programming Using JAVA

The “Bins” Array (Asn-2), cont’d

Two-Dimensional Array: Array Name = “Bins”

Bin Number

Parameter #1 Parameter #2 Parameter #3

Lesson Learned: Arrays can be used for storing input parameters and results.

Page 14: COP2800 – Computer Programming Using JAVA

Case 2: TicTacToe Array (Asn-?)

Two-Dimensional Array: Array Name = “TTT”// Declare array (2-D, 3 rows x 3 cols) char TTT[][] = new char[3][3] ;

Anatomy: Dimension #1 = Row Number(from 0 to 2)

Dimension #2 = Column Number (from 0 to 2)

Contents of Array? char = “–” or “X” or “O”

Page 15: COP2800 – Computer Programming Using JAVA

Case 2: TicTacToe Array (Asn-?)

Two-Dimensional Array: Array Name = “TTT”// Declare array (2-D, 3 rows x 3 cols) char TTT[][] = new char[3][3] ;

Here’s Some Pseudocode!!Initialize Array TTT with “–”

To insert an X or O at location (i,j): input_char = “X”;

TTT[2][1] = input_char;

- O XO X XO X -

Array TTT

Page 16: COP2800 – Computer Programming Using JAVA

This Week: Arrays and Java

READING ASSIGNMENT: D. Liang: Chapters 6 & 7

By now, you should have read textbook Ch. 1-8

Next Class (Friday 08 February)• How to Do Assignment #2 – Part III• More on Multidimensional Arrays in Java