Java Programming: From Problem Analysis to Program Design, 4e

Slides:



Advertisements
Similar presentations
Arrays.
Advertisements

Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
CHAPTER 10 ARRAYS II Applications and Extensions.
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
1 Lecture 21:Arrays and Strings(cont.) Introduction to Computer Science Spring 2006.
1 Lecture 20:Arrays and Strings Introduction to Computer Science Spring 2006.
1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 8 focuses on: array declaration and use passing arrays and array.
Java Programming: From Problem Analysis to Program Design, 3e Chapter 9 Arrays.
Chapter 9: Arrays and Strings
Chapter 9: Arrays and Strings
Chapter 9: Arrays and Strings
Chapter 7: User-Defined Methods
Chapter 8 Arrays and Strings
Arrays. Objectives Learn about arrays Explore how to declare and manipulate data into arrays Learn about “array index out of bounds” Become familiar with.
Arrays (Part II). Two- and Multidimensional Arrays Two-dimensional array: collection of a fixed number of components (of the same type) arranged in two.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 7 Multidimensional.
1 Lecture 22:Applications of Arrays Introduction to Computer Science Spring 2006.
COMP 14 Introduction to Programming Miguel A. Otaduy June 1, 2004.
Chapter 5: METHODS USER-DEFINED METHODS. user-defined  We learned that a Java application program is a collection of classes, and that a class is a collection.
© 2011 Pearson Education, publishing as Addison-Wesley 1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 6 focuses.
Chapter 8 Arrays and Strings
Applications of Arrays (Searching and Sorting) and Strings
Arrays Chapter 7. 2 "All students to receive arrays!" reports Dr. Austin. Declaring arrays scores : Inspecting.
EGR 2261 Unit 8 One-dimensional Arrays  Read Malik, pages in Chapter 8.  Homework #8 and Lab #8 due next week.  Quiz next week.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2009 Pearson Education, Inc., Upper.
Arrays Module 6. Objectives Nature and purpose of an array Using arrays in Java programs Methods with array parameter Methods that return an array Array.
Programming Fundamentals I (COSC-1336), Lecture 8 (prepared after Chapter 7 of Liang’s 2011 textbook) Stefan Andrei 4/23/2017 COSC-1336, Lecture 8.
ARRAYS 1 TOPIC 8 l Array Basics l Arrays and Methods l Programming with Arrays Arrays.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 8 Multidimensional Arrays.
Chapter 9: Arrays J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 7 Multidimensional.
Arrays Chapter 8. What if we need to store test scores for all students in our class. We could store each test score as a unique variable: int score1.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved
C++ Programming: From Problem Analysis to Program Design, Second Edition1 Objectives In this chapter you will: Learn about the pointer data type and pointer.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Arrays.
M180: Data Structures & Algorithms in Java Arrays in Java Arab Open University 1.
1 Topic: Array Topic: Array. 2 Arrays Arrays In this chapter, we will : Learn about arrays Learn about arrays Explore how to declare and manipulate data.
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Arrays An array is an indexed data structure which is used to store data elements of the same data type. An array is an indexed data structure which is.
1 Chapter 9 Arrays Java Programming from Thomson Course Tech, adopted by kcluk.
Arrays Chapter 7. MIS Object Oriented Systems Arrays UTD, SOM 2 Objectives Nature and purpose of an array Using arrays in Java programs Methods.
Chapter 5: ARRAYS ARRAYS. Why Do We Need Arrays? Java Programming: From Problem Analysis to Program Design, 4e 2  We want to write a Java program that.
Java Programming: Chapter 9: Arrays
Opening Input/Output Files ifstream infile; ofstream outfile; char inFileName[40]; char outFileName[40]; coutinFileName;
Arrays Declaring arrays Passing arrays to functions Searching arrays with linear search Sorting arrays with insertion sort Multidimensional arrays Programming.
1 Chapter 9 Arrays Java Programming from Thomson Course Tech, adopted by kcluk.
Chapter 9 Arrays. Chapter Objectives Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of “array index.
SEQUENTIAL AND OBJECT ORIENTED PROGRAMMING Arrays.
Chapter 9 Arrays. Chapter Objectives Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of “array index.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 7A Arrays (Concepts)
Chapter 9 Introduction to Arrays Fundamentals of Java.
Arrays Chap. 9 Storing Collections of Values 1. Introductory Example Problem: Teachers need to be able to compute a variety of grading statistics for.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 7 Multidimensional Arrays.
1 Why do we need arrays? Problem - Input 5 test scores => int test1,test2,test3,test4,test5 100 test scores? 10,000 employees? A structured data type is.
KUKUM-06/07 EKT120: Computer Programming 1 Week 6 Arrays-Part 1.
Lesson 9 Arrays. Miscellaneous About Arrays An array is an object. Because of this, the array name is a reference variable Therefore, in order to start.
LESSON 8: INTRODUCTION TO ARRAYS. Lesson 8: Introduction To Arrays Objectives: Write programs that handle collections of similar items. Declare array.
Array 1 ARRAY. array 2 Learn about arrays. Explore how to declare and manipulate data into arrays. Understand the meaning of “array index out of bounds.”
1 Arrays and Variable Length Parameter List  The syntax to declare a variable length formal parameter (list) is: dataType... identifier.
Chapter 9: Arrays J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design,
1 Chapter 7 Multidimensional Arrays. 2 Motivations You can use a two-dimensional array to represent a matrix or a table.
ARRAYS (Extra slides) Arrays are objects that help us organize large amounts of information.
Chapter VII: Arrays.
Chapter 7 User-Defined Methods.
Chapter 8: Arrays Starting Out with C++ Early Objects Ninth Edition
Computer Programming BCT 1113
Arrays We often want to organize objects or primitive data in a way that makes them easy to access and change. An array is simple but powerful way to.
Lecture 9 Objectives Learn about arrays.
Java Programming: Program Design Including Data Structures
Presentation transcript:

Java Programming: From Problem Analysis to Program Design, 4e Chapter 9 Arrays

Chapter Objectives Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of “array index out of bounds” Become familiar with the restrictions on array processing Java Programming: From Problem Analysis to Program Design, 4e

Chapter Objectives (continued) Discover how to pass an array as a parameter to a method Discover how to manipulate data in a two-dimensional array Learn about multidimensional arrays Java Programming: From Problem Analysis to Program Design, 4e

Array Definition: structured data type with a fixed number of elements Elements of an array are also called components of the array Every element is of the same type Elements are accessed using their relative positions in the array Java Programming: From Problem Analysis to Program Design, 4e

One-Dimensional Arrays Java Programming: From Problem Analysis to Program Design, 4e

One-Dimensional Arrays (continued) Java Programming: From Problem Analysis to Program Design, 4e

One-Dimensional Arrays (continued) intExp = number of components in array >= 0 0 <= indexExp <= intExp Java Programming: From Problem Analysis to Program Design, 4e

Array num: int[] num = new int[5]; Arrays Array num: int[] num = new int[5]; Java Programming: From Problem Analysis to Program Design, 4e

Array num: int[] num = new int[5]; Arrays (continued) Array num: int[] num = new int[5]; Java Programming: From Problem Analysis to Program Design, 4e

Array List Java Programming: From Problem Analysis to Program Design, 4e

Array List (continued) Java Programming: From Problem Analysis to Program Design, 4e

Array List (continued) Java Programming: From Problem Analysis to Program Design, 4e

Array List (continued) Java Programming: From Problem Analysis to Program Design, 4e

Specifying Array Size During Program Execution Java Programming: From Problem Analysis to Program Design, 4e

Array Initialization During Declaration The initializer list contains values, called initial values, that are placed between braces and separated by commas sales[0]= 12.25, sales[1]= 32.50, sales[2]= 16.90, sales[3]= 23.00, and sales[4]= 45.68 Java Programming: From Problem Analysis to Program Design, 4e

Array Initialization During Declaration (continued) When declaring and initializing arrays, the size of the array is determined by the number of initial values within the braces If an array is declared and initialized simultaneously, we do not use the operator new to instantiate the array object Java Programming: From Problem Analysis to Program Design, 4e

Arrays and the Instance Variable length Associated with each array that has been instantiated, there is a public (final) instance variable length The variable length contains the size of the array The variable length can be directly accessed in a program using the array name and the dot operator int[] list = {10, 20, 30, 40, 50, 60}; Java Programming: From Problem Analysis to Program Design, 4e

Arrays and the Instance Variable length (continued) This statement creates the array list of six components and initializes the components using the values given Here list.length is 6 int[] numList = new int[10]; This statement creates the array numList of 10 components and initializes each component to 0 Java Programming: From Problem Analysis to Program Design, 4e

Arrays and the Instance Variable length (continued) The value of numList.length is 10 numList[0] = 5; numList[1] = 10; numList[2] = 15; numList[3] = 20; These statements store 5, 10, 15, and 20, respectively, in the first four components of numList You can store the number of filled elements, that is, the actual number of elements, in the array in a variable, say numOfElement It is a common practice for a program to keep track of the number of filled elements in an array Java Programming: From Problem Analysis to Program Design, 4e

Processing One-Dimensional Arrays Loops used to step through elements in array and perform operations int[] list = new int[100]; int i; for (i = 0; i < list.length; i++) //process list[i], the (i + 1)th //element of list list[i] = console.nextInt(); System.out.print(list[i] + " "); Java Programming: From Problem Analysis to Program Design, 4e

Arrays (continued) Some operations on arrays Initialize Input data Output stored data Find largest/smallest/sum/average of elements double[] sales = new double[10]; int index; double largestSale, sum, average; Java Programming: From Problem Analysis to Program Design, 4e

Code to Initialize Array to Specific Value (10.00) for (int index = 0; index < sales.length; index++) sales[index] = 10.00; Java Programming: From Problem Analysis to Program Design, 4e

Code to Read Data into Array for (int index = 0; index < sales.length; index++) sales[index] = console.nextDouble(); Java Programming: From Problem Analysis to Program Design, 4e

Code to Print Array for (int index = 0; index < sales.length; System.out.print(sales[index] + " "); Java Programming: From Problem Analysis to Program Design, 4e

Code to Find Sum and Average of Array for (int index = 0; index < sales.length; index++) sum = sum + sales[index]; if (sales.length != 0) average = sum / sales.length; else average = 0.0; Java Programming: From Problem Analysis to Program Design, 4e

Determining Largest Element in Array maxIndex = 0; for (int index = 1; index < sales.length; index++) if (sales[maxIndex] < sales[index]) maxIndex = index; largestSale = sales[maxIndex]; Java Programming: From Problem Analysis to Program Design, 4e

Determining Largest Element in Array (continued) Java Programming: From Problem Analysis to Program Design, 4e

Determining Largest Element in Array (continued) Java Programming: From Problem Analysis to Program Design, 4e

Array Index Out of Bounds Array in bounds if: 0 <= index <= arraySize – 1 If index < 0 or index > arraySize: ArrayIndexOutOfBoundsException exception is thrown Base address: memory location of first component in array Java Programming: From Problem Analysis to Program Design, 4e

Declaring Arrays as Formal Parameters to Methods A general syntax to declare an array as a formal parameter dataType[] arrayName public static void arraysAsFormalParameter(int[] listA, double[] listB, int num) { //... } int[] intList = new int[10]; double[] doubleNumList = new double[15]; int number; arraysAsFormalParameter(intList, doubleNumList, number); Java Programming: From Problem Analysis to Program Design, 4e

The Assignment Operators and Arrays Java Programming: From Problem Analysis to Program Design, 4e

The Assignment Operators and Arrays (continued) Java Programming: From Problem Analysis to Program Design, 4e

The Assignment Operators and Arrays (continued) Java Programming: From Problem Analysis to Program Design, 4e

Relational Operators and Arrays if (listA == listB)... - The expression listA == listB determines if the values of listA and listB are the same and thus determines whether listA and listB refer to the same array - To determine whether listA and listB contain the same elements, you need to compare them component by component - You can write a method that returns true if two int arrays contain the same elements Java Programming: From Problem Analysis to Program Design, 4e

Relational Operators and Arrays (continued) boolean areEqualArrays(int[] firstArray, int[] secondArray) { if (firstArray.length != secondArray.length) return false; for (int index = 0; index < firstArray.length; index++) if (firstArray[index] != secondArray[index]) return true; } if (areEqualArrays(listA, listB)) ... Java Programming: From Problem Analysis to Program Design, 4e

Arrays as Parameter Methods Java Programming: From Problem Analysis to Program Design, 4e

Methods for Array Processing Java Programming: From Problem Analysis to Program Design, 4e

Methods for Array Processing (continued) Java Programming: From Problem Analysis to Program Design, 4e

Methods for Array Processing (continued) Java Programming: From Problem Analysis to Program Design, 4e

Methods for Array Processing (continued) Java Programming: From Problem Analysis to Program Design, 4e

Suppose that you want to determine whether 27 is in the list; First you compare 27 with list[0] Because list[0] ≠ 27, you then compare 27 with list[1] Because list[1] ≠ 27, you compare 27 with list[2]; Because list[2] = 27, the search stops This search is successful Java Programming: From Problem Analysis to Program Design, 4e

Search starts at the first element in the list, that is, at list[0] Search for 10 Search starts at the first element in the list, that is, at list[0] This time, the search item, which is 10, is compared with every item in the list; eventually, no more data is left in the list to compare with the search item; this is an unsuccessful search Java Programming: From Problem Analysis to Program Design, 4e

public static int seqSearch(int[] list, int listLength, int searchItem) { int loc; boolean found = false; loc = 0; while (loc < listLength && !found) if (list[loc] == searchItem) found = true; else loc++; if (found) return loc; return -1; } Java Programming: From Problem Analysis to Program Design, 4e

Arrays of Objects Can use arrays to manipulate objects Example: create array named array1 with N objects of type T T[] array1 = new T[N] Can instantiate array1 as follows: for (int j = 0; j <array1.length; j++) array1[j] = new T(); Java Programming: From Problem Analysis to Program Design, 4e

Array of String Objects String[] nameList = new String[5]; nameList[0] = "Amanda Green"; nameList[1] = "Vijay Arora"; nameList[2] = "Sheila Mann"; nameList[3] = "Rohit Sharma"; nameList[4] = "Mandy Johnson"; Java Programming: From Problem Analysis to Program Design, 4e

Array of String Objects (continued) Java Programming: From Problem Analysis to Program Design, 4e

Clock[] arrivalTimeEmp = new Clock[100]; Arrays of Objects (continued) Clock[] arrivalTimeEmp = new Clock[100]; Java Programming: From Problem Analysis to Program Design, 4e

Instantiating Array Objects for (int j = 0; j < arrivalTimeEmp.length; j++) arrivalTimeEmp[j] = new Clock(); Java Programming: From Problem Analysis to Program Design, 4e

Instantiating Array Objects (continued) arrivalTimeEmp[49].setTime(8, 5, 10); Java Programming: From Problem Analysis to Program Design, 4e

Arrays and Variable Length Parameter List The syntax to declare a variable length formal parameter (list) is: dataType ... identifier Java Programming: From Problem Analysis to Program Design, 4e

Arrays and Variable Length Parameter List (continued) Java Programming: From Problem Analysis to Program Design, 4e

Arrays and Variable Length Parameter List (continued) Java Programming: From Problem Analysis to Program Design, 4e

Arrays and Variable Length Parameter List (continued) A method can have both a variable length formal parameter and other formal parameters; consider the following method heading: public static void myMethod(String name, double num, int ... intList) The formal parameter name is of type String, the formal parameter num is of type double, and the formal parameter intList is of variable length The actual parameter corresponding to intList can be an int array or any number of int variables and/or int values Java Programming: From Problem Analysis to Program Design, 4e

Arrays and Variable Length Parameter List (continued) A method can have at most one variable length formal parameter If a method has both a variable length formal parameter and other types of formal parameters, then the variable length formal parameter must be the last formal parameter of the formal parameter list Java Programming: From Problem Analysis to Program Design, 4e

foreach Loop The syntax to use this for loop to process the elements of an array is: for (dataType identifier : arrayName) statements identifier is a variable, and the data type of identifier is the same as the data type of the array components Java Programming: From Problem Analysis to Program Design, 4e

foreach loop (continued) sum = 0; for (double num : list) sum = sum + num; The for statement in Line 2 is read: for each num in list The identifier num is initialized to list[0] In the next iteration, the value of num is list[1], and so on for (double num : numList) { if (max < num) max = num; } Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays (continued) Java Programming: From Problem Analysis to Program Design, 4e

double[][] sales = new double[10][5]; Two-Dimensional Arrays (continued) double[][] sales = new double[10][5]; Java Programming: From Problem Analysis to Program Design, 4e

Accessing Array Elements intExp1, intExp2 >= 0 indexExp1 = row position indexExp2 = column position Java Programming: From Problem Analysis to Program Design, 4e

Accessing Array Elements (continued) Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays and the Instance Variable length This statement declares and instantiates a two-dimensional array matrix of 20 rows and 15 columns The value of the expression: matrix.length is 20, the number of rows Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays and the Instance Variable length (continued) Each row of matrix is a one-dimensional array; matrix[0], in fact, refers to the first row The value of the expression: matrix[0].length is 15, the number of columns in the first row matrix[1].length gives the number of columns in the second row, which in this case is 15, and so on Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Special Cases Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Special Cases (continued) Create columns Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Array Initialization During Declaration Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Array Initialization During Declaration (continued) To initialize a two-dimensional array when it is declared: - The elements of each row are enclosed within braces and separated by commas - All rows are enclosed within braces Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Array Initialization During Declaration (continued) Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays (continued) Three ways to process 2-D arrays Entire array Particular row of array (row processing) Particular column of array (column processing) Processing algorithms similar to processing algorithms of one-dimensional arrays Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Processing Initialization for (int row = 0; row < matrix.length; row++) for (int col = 0; col < matrix[row].length; col++) matrix[row][col] = 10; Print for (int row = 0; row < matrix.length; row++) { for (int col = 0; col < matrix[row].length; col++) System.out.printf("%7d", matrix[row][col]); System.out.println(); } Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Processing (continued) Input for (int row = 0; row < matrix.length; row++) for (int col = 0; col < matrix[row].length; col++) matrix[row][col] = console.nextInt(); Sum by Row for (int row = 0; row < matrix.length; row++) { sum = 0; for (int col = 0; col < matrix[row].length; col++) sum = sum + matrix[row][col]; System.out.println("Sum of row " + (row + 1) + " = "+ sum); } Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Processing (continued) Sum by Column for (int col = 0; col < matrix[0].length; col++) { sum = 0; for (int row = 0; row < matrix.length; row++) sum = sum + matrix[row][col]; System.out.println("Sum of column " + (col + 1) + " = " + sum); } Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Processing (continued) Largest Element in Each Row for (int row = 0; row < matrix.length; row++) { largest = matrix[row][0]; for (int col = 1; col < matrix[row].length; col++) if (largest < matrix[row][col]) largest = matrix[row][col]; System.out.println("The largest element of row " + (row + 1) + " = " + largest); } Java Programming: From Problem Analysis to Program Design, 4e

Two-Dimensional Arrays: Processing (continued) Largest Element in Each Column for (int col = 0; col < matrix[0].length; col++) { largest = matrix[0][col]; for (int row = 1; row < matrix.length; row++) if (largest < matrix[row][col]) largest = matrix[row][col]; System.out.println("The largest element of col " + (col + 1) + " = " + largest); } Java Programming: From Problem Analysis to Program Design, 4e

Java Programming: From Problem Analysis to Program Design, 4e

Java Programming: From Problem Analysis to Program Design, 4e

Java Programming: From Problem Analysis to Program Design, 4e

Multidimensional Arrays Can define three-dimensional arrays or n-dimensional array (n can be any number) Syntax to declare and instantiate array dataType[][]…[] arrayName = new dataType[intExp1][intExp2]…[intExpn]; Syntax to access component arrayName[indexExp1][indexExp2]…[indexExpn] intExp1, intExp2, ..., intExpn = positive integers indexExp1,indexExp2, ..., indexExpn = non-negative integers Java Programming: From Problem Analysis to Program Design, 4e

Loops to Process Multidimensional Arrays double[][][] carDealers = new double[10][5][7]; for (int i = 0; i < 10; i++) for (int j = 0; j < 5; j++) for (int k = 0; k < 7; k++) carDealers[i][j][k] = 10.00; Java Programming: From Problem Analysis to Program Design, 4e

Programming Example: Text Processing Program: reads given text; outputs the text as is; prints number of lines and number of times each letter appears in text Input: file containing text to be processed Output: file containing text, number of lines, number of times letter appears in text Java Programming: From Problem Analysis to Program Design, 4e

Programming Example Solution: Text Processing An array of 26 representing the letters in the alphabet Three methods copyText characterCount writeTotal Value in appropriate index incremented using methods and depending on character read from text Java Programming: From Problem Analysis to Program Design, 4e

Chapter Summary Arrays Different Arrays Definition Uses One-dimensional Two-dimensional Multidimensional (n-dimensional) Arrays of objects Parallel arrays Java Programming: From Problem Analysis to Program Design, 4e

Chapter Summary (continued) Declaring arrays Instantiating arrays Processing arrays Entire array Row processing Column processing Common operations and methods performed on arrays Manipulating data in arrays Java Programming: From Problem Analysis to Program Design, 4e