1 / 41

Chapter 7: Working with Arrays

Chapter 7: Working with Arrays. Visual Basic .NET Programming: From Problem Analysis to Program Design. Objectives. Define one-dimensional arrays Create String arrays Declare multi-dimensional arrays Search an array Use the ArrayList class. Defining One-Dimensional Arrays. Arrays

raina
Download Presentation

Chapter 7: Working with Arrays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 7: Working with Arrays Visual Basic .NET Programming: From Problem Analysis to Program Design

  2. Objectives • Define one-dimensional arrays • Create String arrays • Declare multi-dimensional arrays • Search an array • Use the ArrayList class Visual Basic .NET Programming: From Problem Analysis to Program Design

  3. Defining One-Dimensional Arrays • Arrays • Consist of collection of elements • Each element behaves as a variable does • Can contain either: • Primitive data • Reference variables Visual Basic .NET Programming: From Problem Analysis to Program Design

  4. Defining One-Dimensional Arrays (continued) • Arrays • Elements must have same data type • Access individual elements in array using index • Can be one- or multi-dimensional Visual Basic .NET Programming: From Problem Analysis to Program Design

  5. Defining One-Dimensional Arrays (continued) • Array class • System namespace • Provides properties and methods for working with arrays • One-dimensional array • Consists of elements arranged in single row • Two-dimensional array • Has bothrows and columns Visual Basic .NET Programming: From Problem Analysis to Program Design

  6. Defining One-Dimensional Arrays (continued) • Three-dimensional array • Like a cube, with • Rows • Columns • Pages • VB .NET implements multi-dimensional arrays as arrays of arrays Visual Basic .NET Programming: From Problem Analysis to Program Design

  7. Defining One-Dimensional Arrays (continued) • Arrays are static • Cannot change number of elements • Can use ReDim statement • Creates copy of existing array with additional elements Visual Basic .NET Programming: From Problem Analysis to Program Design

  8. Defining One-Dimensional Arrays (continued) • Declare array syntax: • Dim arrayName (index of last element) As DataType • Example: • Dim examScores(4) As Integer • Array indexes begin at zero Visual Basic .NET Programming: From Problem Analysis to Program Design

  9. Defining One-Dimensional Arrays (continued) • Accessing array element syntax: • arrayName(index) • Example: • examScores(0) Visual Basic .NET Programming: From Problem Analysis to Program Design

  10. Visual Basic .NET Programming: From Problem Analysis to Program Design

  11. Using a Loop to Iterate an Array • Use loop to process array elements • Repeat program code for each element • Especially appropriate when working with larger arrays Visual Basic .NET Programming: From Problem Analysis to Program Design

  12. Example 7-3: Computing Exam Average Using an Array and a Loop 1. ' define variables 2. Dim examScores(4) As Integer 3. Dim sum, average As Double 4. Dim index As Integer Visual Basic .NET Programming: From Problem Analysis to Program Design

  13. Example 7-3: Computing Exam Average Using an Array and a Loop (continued) 5. ' loop to enter and sum the exam scores 6. For index = 0 To examScores.Length - 1 7. Console.WriteLine("Enter an Exam Score: ") • examScores(index) = Convert.ToInt32(Console.ReadLine()) 9. sum += examScores(index) 10. Next Visual Basic .NET Programming: From Problem Analysis to Program Design

  14. Example 7-3: Computing Exam Average Using an Array and a Loop (continued) 11. average = sum / examScores.Length 12. Console.WriteLine("The average is: " & Math.Round(average, 1)) Visual Basic .NET Programming: From Problem Analysis to Program Design

  15. Example 7-3: Computing Exam Average Using an Array and a Loop (continued) Sample Run: Enter an Exam Score: 85 Enter an Exam Score: 90 Enter an Exam Score: 94 Enter an Exam Score: 89 Enter an Exam Score: 91 The average is: 89.8 Visual Basic .NET Programming: From Problem Analysis to Program Design

  16. Invoking Array Methods • Selected Array class methods: • Sort • Array.Sort(examScores) • Reverse • Array.Reverse(examScores) Visual Basic .NET Programming: From Problem Analysis to Program Design

  17. Creating String Arrays • Code to create String array: • Dim stringArray(3) As String • Each element in array: • Reference variable • Data type String Visual Basic .NET Programming: From Problem Analysis to Program Design

  18. Creating String Arrays (continued) • Split method • Extracts substrings separated by character value specified • Uses substrings to populate Stringarray • Example: • Dim stringArray() As String = stringValue.Split(“ “c) Visual Basic .NET Programming: From Problem Analysis to Program Design

  19. Visual Basic .NET Programming: From Problem Analysis to Program Design

  20. Declaring Multi-Dimensional Arrays • Two-dimensional array • Like table with rows and columns • Three-dimensional array • Like cube, with: • Rows • Columns • Pages Visual Basic .NET Programming: From Problem Analysis to Program Design

  21. Declaring Multi-Dimensional Arrays (continued) • Each array dimension has own index • Generally arrays are one- or two-dimensional • Declare two-dimensional array • Similar to one-dimensional array declaration • But specify number of rows and columns • Example: • Dim testScoreTable(4, 1) As Integer Visual Basic .NET Programming: From Problem Analysis to Program Design

  22. Declaring Multi-Dimensional Arrays (continued) • Accessing elements in two-dimensional array example: • testScoreTable(0, 0) = 85 • VB .NET implements multi-dimensional arrays by creating an array of arrays Visual Basic .NET Programming: From Problem Analysis to Program Design

  23. Declaring Multi-Dimensional Arrays (continued) • Create and populate small two-dimensional arrays using single statement: • Dim testScoreTable(,) As Integer = _{{85, 88}, {90, 85}, {94, 60}, {89, 95}, {91, 100}} • Do not specify number of rows or columns • VB .NET uses data to determine row and column count Visual Basic .NET Programming: From Problem Analysis to Program Design

  24. Example 7-8: Computing the First Exam Average Using a Loop 1. ' compute Exam 1 average using a loop 2. Dim sum As Double, row As Integer 3. For row = 0 To 4 4. sum += testScoreTable(row, 0) 5. Next 6. Console.WriteLine(“Exam 1 average is ” & sum / 5) Visual Basic .NET Programming: From Problem Analysis to Program Design

  25. Visual Basic .NET Programming: From Problem Analysis to Program Design

  26. Searching an Array • Search array to see if it contains specific value • Use loop to compare each value to target • Use Boolean variable to mark found value Visual Basic .NET Programming: From Problem Analysis to Program Design

  27. Example 7-10: Searching an Array(excerpt) 6. Do While i < stringArray.Length And Not found 7. If stringArray(i).Equals(searchValue) Then 8. found = True 9. Else 10. i += 1 11. End If 12. Loop Visual Basic .NET Programming: From Problem Analysis to Program Design

  28. Using the ArrayList Class • Array elements are actually variables • May be either: • Primitive • Reference variables • Arrays have significant limitation: • Fixed in size • Difficult to change number of array elements as code is executing Visual Basic .NET Programming: From Problem Analysis to Program Design

  29. Using the ArrayList Class (continued) • ArrayList class • System.Collections namespace • Use to create array that is dynamically resizable Visual Basic .NET Programming: From Problem Analysis to Program Design

  30. Visual Basic .NET Programming: From Problem Analysis to Program Design

  31. Example 7-11: Creating and Populating an ArrayList Instance (excerpt) 1. ' create an ArrayList instance with 3 elements 2. Dim anArrayList As ArrayList = New ArrayList(3) Visual Basic .NET Programming: From Problem Analysis to Program Design

  32. Example 7-11: Creating and Populating an ArrayList Instance (continued) 8. ' populate the first two elements 9. anArrayList.Add(s1) 10. anArrayList.Add(s2) 11. Console.WriteLine(“number of elements = ” & anArrayList.Capacity) 12. Console.WriteLine(“populated elements = ” & anArrayList.Count) Visual Basic .NET Programming: From Problem Analysis to Program Design

  33. Example 7-11: Creating and Populating an ArrayList Instance (continued) 13. ' iterate and display 14. Dim i As Integer 15. For i = 0 To anArrayList.Count - 1 16. Console.WriteLine(anArrayList.Item(i)) 17. Next Visual Basic .NET Programming: From Problem Analysis to Program Design

  34. Example 7-11: Creating and Populating an ArrayList Instance (continued) Sample Run: number of elements = 3 populated elements = 2 Hello World Visual Basic .NET Programming: From Problem Analysis to Program Design

  35. Example 7-11: Creating and Populating an ArrayList Instance (continued) • Constructor • Method that is invoked when you instantiate a class • ArrayList properties: • Capacity • Contains number of elements • Count • Contains number of populatedelements Visual Basic .NET Programming: From Problem Analysis to Program Design

  36. Example 7-13: Invoking ArrayList Methods • Methods: • Contains: • anArrayList.Contains(s1) • Returns True if ArrayList contains reference to argument • IndexOf: • anArrayList.IndexOf(s3) • Returns index of argument in array Visual Basic .NET Programming: From Problem Analysis to Program Design

  37. Example 7-13: Invoking ArrayList Methods (continued) • Methods: • Reverse: • anArrayList.Reverse() • Rearranges contents of elements in reverse sequence Visual Basic .NET Programming: From Problem Analysis to Program Design

  38. Programming Example: Employee Payroll • Input • Taxable wages • Marital status • Output • Amount of federal tax to be withheld Visual Basic .NET Programming: From Problem Analysis to Program Design

  39. Programming Example: Employee Payroll (continued) • Purpose of this program • Input employee’s taxable wages and marital status • Compute and display amount of federal tax to be withheld • Formatted as currency • Use arrays to hold tax tables Visual Basic .NET Programming: From Problem Analysis to Program Design

  40. Summary • Arrays are instances of Array class • Consist of elements with each element behaving as variable does • Can be either: • One-dimensional • Multi-dimensional • VB .NET supports multi-dimensional arrays • Implemented by creating array of arrays Visual Basic .NET Programming: From Problem Analysis to Program Design

  41. Summary (continued) • ArrayList class • Dynamically resizable array • Capacity property • Contains number of elements in ArrayList • Count property • Contains number of populatedelements Visual Basic .NET Programming: From Problem Analysis to Program Design

More Related