Chapter 9: Arrays J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition.

Slides:



Advertisements
Similar presentations
Arrays.
Advertisements

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Fall 2013.
Arrays. What is an array An array is used to store a collection of data It is a collection of variables of the same type.
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
Chapter 10 Introduction to Arrays
CHAPTER 10 ARRAYS II Applications and Extensions.
1 More on Arrays Passing arrays to or from methods Arrays of objects Command line arguments Variable length parameter lists Two dimensional arrays Reading.
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 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.
Prepared by MURLI MANOHAR PGT (COMPUTER SCIENCE) KV,B.E.G., PUNE.
© 2011 Pearson Education, publishing as Addison-Wesley 1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 6 focuses.
One Dimensional Array. Introduction to Arrays Primitive variables are designed to hold only one value at a time. Arrays allow us to create a collection.
Chapter 8 Arrays and Strings
EGR 2261 Unit 8 One-dimensional Arrays  Read Malik, pages in Chapter 8.  Homework #8 and Lab #8 due next week.  Quiz next week.
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.
Java Programming: From Problem Analysis to Program Design, 4e
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.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 8 Multidimensional Arrays Lecture.
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, 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.
Two-Dimensional Arrays That’s 2-D Arrays Girls & Boys! One-Dimensional Arrays on Steroids!
1 Arrays and Strings Lecture: Design Problem l Consider a program to calculate class average Why?? ?
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.
CiS 260: App Dev I. 2 Introduction to Arrays n An array is an object that contains a collection of components (_________) of the same data type. n For.
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.
CiS 260: App Dev I. 2 Introduction to Arrays n An array is an object that contains a collection of components (_________) of the same data type. n For.
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.
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.
Chapter VII: Arrays.
EGR 2261 Unit 10 Two-dimensional Arrays
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:

Chapter 9: Arrays J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition

Java Programming: From Problem Analysis to Program Design, Second Edition2 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, Second Edition3 Chapter Objectives  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, Second Edition4 Array  A structured data type with a fixed number of components.  Every component is of the same type.  Components are accessed using their relative positions in the array.

Java Programming: From Problem Analysis to Program Design, Second Edition5 One-Dimensional Arrays  Syntax to instantiate an array:  dataType[ ] arrayName; arrayName = new dataType[intExp]  dataType[ ] arrayName = new dataType[intExp]  dataType[ ] arrayName1, arrayName2;  Syntax to access an array component:  arrayName[indexExp]  intExp = number of components in array >= 0  0 <= indexExp <= intExp

Java Programming: From Problem Analysis to Program Design, Second Edition6 int[] num = new int[5]; Array num

Java Programming: From Problem Analysis to Program Design, Second Edition7 Array list

Java Programming: From Problem Analysis to Program Design, Second Edition8 int arraySize; System.out.print("Enter the size of " + "the array: "); arraySize = console.nextInt(); System.out.println(); int[] list = new int[arraySize]; Specifying Array Size During Program Execution

Java Programming: From Problem Analysis to Program Design, Second Edition9 double[] sales = {12.25, 32.50, 16.90, 23, 45.68};  The values, called initial values, are placed between braces and separated by commas.  Here, sales[0]= 12.25, sales[1]= 32.50, sales[2]= 16.90, sales[3]= 23.00, and sales[4]=  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. Array Initialization During Declaration

Java Programming: From Problem Analysis to Program Design, Second Edition10  A public instance variable length is associated with each array that has been instantiated.  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.  This statement creates the array list of six components and initializes the components using the values given. Here list.length is 6. int[] list = {10, 20, 30, 40, 50, 60}; Arrays and the Instance Variable length

Java Programming: From Problem Analysis to Program Design, Second Edition11  This statement creates the array numList of 10 components and initializes each component to 0. int[] numList = new int[10];  The value of numList.length is 10.  These statements store 5, 10, 15, and 20, respectively, in the first four components of numList. numList[0] = 5; numList[1] = 10; numList[2] = 15; numList[3] = 20;  You can store the number of filled elements, that is, the actual number of elements, in the array in a variable, say noOfElement. It is a common practice for a program to keep track of the number of filled elements in an array. Arrays and the Instance Variable length

Java Programming: From Problem Analysis to Program Design, Second Edition12  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 for (i = 0; i < list.length; i++) list[i] = console.nextInt(); for (i = 0; i < list.length; i++) System.out.print(list[i] + " "); Processing One-Dimensional Arrays

Java Programming: From Problem Analysis to Program Design, Second Edition13 Arrays  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, Second Edition14 Code to Initialize Array to Specific Value (10.00) for (index = 0; index < sales.length; index++) sales[index] = 10.00;

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

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

Java Programming: From Problem Analysis to Program Design, Second Edition17 Code to Find Sum and Average of Array sum = 0; for (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, Second Edition18 Determining Largest Element in Array maxIndex = 0; for (index = 1; index < sales.length; index++) if (sales[maxIndex] < sales[index]) maxIndex = index; largestSale = sales[maxIndex];

Java Programming: From Problem Analysis to Program Design, Second Edition19 Determining Largest Element in Array

Java Programming: From Problem Analysis to Program Design, Second Edition20 Array Index Out of Bounds  An array is in bounds if: 0 <= index <= arraySize – 1  If index arraySize : ArrayIndexOutOfBoundsException exception is thrown.  Base address: Memory location of the first component in an array.

Java Programming: From Problem Analysis to Program Design, Second Edition21 Declaring Arrays as Formal Parameters to Methods 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, Second Edition22 The Assignment Operators and Arrays

Java Programming: From Problem Analysis to Program Design, Second Edition23 The Assignment Operators and Arrays

Java Programming: From Problem Analysis to Program Design, Second Edition24 for (int index = 0; index < listA.length; index++) listB[index] = listA[index]; The Assignment Operators and Arrays

Java Programming: From Problem Analysis to Program Design, Second Edition25 Relational Operators Arrays if (listA == listB)...  The expression listA == listB determines if the values of listA and listB are the same, thus determining 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, Second Edition26 Relational Operators and Arrays boolean isEqualArrays(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 false; return true; } if (isEqualArrays(listA, listB))...

Java Programming: From Problem Analysis to Program Design, Second Edition27 Methods for Array Processing public static void fillArray(int[] list, int noOfElements) { int index; for (index = 0; index < noOfElements; index++) list[index] = console.nextInt(); }

Java Programming: From Problem Analysis to Program Design, Second Edition28 public static void printArray(int[] list, int noOfElements) { int index; for (index = 0; index < noOfElements; index++) System.out.print(list[index] + " "); } public static int sumArray(int[] list, int noOfElements) { int index; int sum = 0; for (index = 0; index < noOfElements; index++) sum = sum + list[index]; return sum; } Methods for Array Processing

Java Programming: From Problem Analysis to Program Design, Second Edition29 public static int indexLargestElement(int[] list, int noOfElements) { int index; int maxIndex = 0; for (index = 1; index < noOfElements; index++) if (list[maxIndex] < list[index]) maxIndex = index; return maxIndex; } public static void copyArray(int[] list1, int[] list2, int noOfElements) { int index; for (index = 0; index < noOfElements; index++) list2[index] = list1[index]; } Methods for Array Processing

Java Programming: From Problem Analysis to Program Design, Second Edition30 Parallel Arrays  Arrays are parallel if the corresponding components hold related information.

Java Programming: From Problem Analysis to Program Design, Second Edition31 Arrays of Objects  Can use arrays to manipulate objects.  Example: Create an 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, Second Edition32 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, Second Edition33 Array of String Objects

Java Programming: From Problem Analysis to Program Design, Second Edition34 Clock[] arrivalTimeEmp = new Clock[100]; Arrays of Objects

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

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

Java Programming: From Problem Analysis to Program Design, Second Edition37 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, Second Edition38 Arrays and Variable Length Parameter List public static double largest(double... numList) { double max; int index; if (numList.length != 0) { max = list[0]; for (index = 1; index < numList.length; index++) { if (max < numList [index]) max = numList [index]; } return max; } return 0.0; }

Java Programming: From Problem Analysis to Program Design, Second Edition39 Arrays and Variable Length Parameter List double num1 = largest(34, 56); double num2 = largest(12.56, 84, 92); double num3 = largest(98.32, 77, 64.67, 56); System.out.println(largest(22.50, 67.78, 92.58, 45, 34, 56)); double[] numberList = {18. 50, 44, 56.23, , 112.0, 77, 11, 22, 86.62); System.out.println(largest(numberList));

Java Programming: From Problem Analysis to Program Design, Second Edition40 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, Second Edition41 foreach loop 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, Second Edition42 Two-Dimensional Arrays  Data is sometimes in table form (difficult to represent using a one-dimensional array).  To declare/instantiate a two-dimensional array: dataType[ ][ ] arrayName = new dataType[intExp1][intExp2];  To access a component of a two-dimensional array: arrayName[indexExp1][indexExp2];  intExp1, intExp2 >= 0  indexExp1 = row position  indexExp2 = column position

Java Programming: From Problem Analysis to Program Design, Second Edition43 Two-Dimensional Arrays  Can specify different number of columns for each row (ragged arrays).  Three ways to process two-dimensional arrays:  Entire array.  Particular row of array (row processing).  Particular column of array (column processing).  Processing algorithms is similar to processing algorithms of one-dimensional arrays.

Java Programming: From Problem Analysis to Program Design, Second Edition44 double[][]sales = new double[10][5]; Two-Dimensional Arrays

Java Programming: From Problem Analysis to Program Design, Second Edition45 Accessing Two-Dimensional Array Components

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

Java Programming: From Problem Analysis to Program Design, Second Edition47 Two-Dimensional Arrays: Processing Initialization for (row = 0; row < matrix.length; row++) for (col = 0; col < matrix[row].length; col++) matrix[row][col] = 10; Print for (row = 0; row < matrix.length; row++) { for (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, Second Edition48 Input for (row = 0; row < matrix.length; row++) for (col = 0; col < matrix[row].length; col++) matrix[row][col] = console.nextInt(); Sum by Row for (row = 0; row < matrix.length; row++) { sum = 0; for (col = 0; col < matrix[row].length; col++) sum = sum + matrix[row][col]; System.out.println("Sum of row " + (row + 1) + " = "+ sum); } Two-Dimensional Arrays: Processing

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

Java Programming: From Problem Analysis to Program Design, Second Edition50 Largest Element in Each Row for (row = 0; row < matrix.length; row++) { largest = matrix[row][0]; for (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); } Two-Dimensional Arrays: Processing

Java Programming: From Problem Analysis to Program Design, Second Edition51 Largest Element in Each Column for (col = 0; col < matrix[0].length; col++) { largest = matrix[0][col]; for (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); } Two-Dimensional Arrays: Processing

Java Programming: From Problem Analysis to Program Design, Second Edition52 Multidimensional Arrays  Can define three-dimensional arrays or n-dimensional arrays (n can be any number).  Syntax to declare and instantiate array: d ataType[][]…[] 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, Second Edition53 Loops to Process Multidimensional Arrays double[][][] carDealers = new double[10][5][7]; For (i = 0; i < 10; i++) for (j = 0; j < 5; j++) for (k = 0; k < 7; k++) carDealers[i][j][k] = 10.00;

Java Programming: From Problem Analysis to Program Design, Second Edition54 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 each letter appears in text.

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

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

Java Programming: From Problem Analysis to Program Design, Second Edition57 Chapter Summary  Declaring arrays  Instantiating arrays  Processing arrays  Entire array  Row processing  Column processing  Common operations and methods performed on arrays  Manipulating data in arrays