CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/

Slides:



Advertisements
Similar presentations
CS110 Programming Language I Lab 10: Arrays I Computer Science Department Spring 2014.
Advertisements

1 (c) elsaddik CSI 1102 Introduction to Software Design Prof. Dr.-Ing. Abdulmotaleb El Saddik University of Ottawa (SITE.
1 Arrays b An array is an ordered list of values An array of size N is indexed from zero to N-1 scores.
Java Types float, double long, int, short byte char boolean Objects Objects are created by : Declaring a reference and calling a constructor. Basic types.
Arrays in Java Selim Aksoy Bilkent University Department of Computer Engineering
© 2011 Pearson Education, publishing as Addison-Wesley 1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 6 focuses.
CSC 1051 M.A. Papalaskari, Villanova University Repetition CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
7. Arrays. Topics Declaring and Using Arrays Some Array Algorithms Arrays of Objects Variable Length Parameter Lists Two-Dimensional Arrays The ArrayList.
CSC 1051 – Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Chapter 7 Arrays. Chapter Scope Array declaration and use Bounds checking Arrays as objects Arrays of objects Command-line arguments Variable-length parameter.
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
8-1 Chapter 8: Arrays Arrays are objects that help us organize large amounts of information Today we will focuses on: –array declaration and use –bounds.
CSC 1051 – Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Copyright © 2012 Pearson Education, Inc. Chapter 6 More Conditionals and Loops Java Software Solutions Foundations of Program Design Seventh Edition John.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Conditional Statements Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University.
Chapter 7 Arrays: Part 1 of 2. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
***** SWTJC STEM ***** Chapter 7 cg 68 What Are Arrays? An array is a simple but powerful way to organize and store large amounts of data and information.
Chapter 6. else-if & switch Copyright © 2012 Pearson Education, Inc.
CS 121 – Intro to Programming:Java - Lecture 8 Announcements Current Owl assignment is due Wednesday. Next Owl assignment - arrays I - will be up by tomorrow.
CSC 1051 M.A. Papalaskari, Villanova University CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Outline Character Strings Variables and Assignment Primitive Data Types Expressions Data Conversion Interactive Programs Graphics Applets Drawing Shapes.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Everyday objects: Strings and Wrappers CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Algorithms Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Repetition CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing.
Arrays.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Java Methods 11/10/2015. Learning Objectives  Be able to read a program that uses methods.  Be able to write a write a program that uses methods.
int [] scores = new int [10];
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Interactive Programs Programs that get input from the user 1 In PowerPoint, click on the speaker icon then click the "Play" button to hear the narration.
1 Arrays Chapter 8. Objectives You will be able to Use arrays in your Java programs to hold a large number of data items of the same type. Initialize.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Chapter 7 Arrays…. 7-2 Arrays An array is an ordered list of values An array of size N is indexed from.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I
CSC 1051 – Data Structures and Algorithms I
Maha AlSaif Maryam AlQattan
Control Statement Examples
Chapter 7: Arrays.
Introduction to Classes and Methods
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.
CSC 1051 – Data Structures and Algorithms I
Repetition CSC 1051 – Data Structures and Algorithms I Course website:
Presentation transcript:

CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: Some slides in this presentation are adapted from the slides accompanying Java Software Solutions by Lewis & Loftus CSC 1051 M.A. Papalaskari, Villanova University Intro to Arrays, continued

Arrays - Review Declaration: double[] scores = new double[10]; The entire array has a single name index This array holds 10 values of type double that are indexed from 0 to 9 The size of the array is given by: scores.length = 10 CSC 1051 M.A. Papalaskari, Villanova University scores[2] array element scores element type Initialization: scores[0] = 7.9; scores[1] = 8.7; scores[2] = 9.4; scores[3] = 8.2; scores[4] = 6.7; scores[5] = 9.8; scores[6] = 8.7; scores[7] = 8.1; scores[8] = 7.4; scores[9] = 9.1; Instantiation:

Initializer Lists Alternative way to declare, instantiate, and initialize an array. For example: int[] units = {14, 32, 89, 9, 54, 30}; char[] grades = {'A', 'B', 'C', 'D', ’F'}; CSC 1051 M.A. Papalaskari, Villanova University Note: –the new operator is not used –size of array is determined by the number of items listed –can only be used in the array declaration

Making a copy of an array Suppose we have two arrays: int[] a = {147, 323, 89, 933}; int[] b = {100, 200, 300, 400}; CSC 1051 M.A. Papalaskari, Villanova University for (int i=0; i<a.length; i++) a[i] = b[i]; for (int i=0; i<a.length; i++) a[i] = b[i];

Making a copy of an array Suppose we have two arrays: int[] a = {147, 323, 89, 933}; int[] b = {100, 200, 300, 400}; Compare the following: CSC 1051 M.A. Papalaskari, Villanova University a = b; for (int i=0; i<a.length; i++) a[i] = b[i]; for (int i=0; i<a.length; i++) a[i] = b[i];

Arrays are Objects What happens when we do this? int[] a = {147, 323, 89, 933}; int[] b = {100, 200, 300, 400}; a = b; Or this? int[] c = {100, 200}; a = c; CSC 1051 M.A. Papalaskari, Villanova University

Arrays as Parameters An entire array can be passed as a parameter to a method (just like any other object). For example: CSC 1051 M.A. Papalaskari, Villanova University Assumes a definition for doSomething(), for example: int[] a = {1, 2, 3, 4}; doSomething(a); static void doSomething(int[] x) { x[0] = 5; } static void doSomething(int[] x) { x[0] = 5; }

Arrays as Parameters An entire array can be passed as a parameter to a method (just like any other object). Exercise: Write a method that adds 2 to the value of each element in an array of type double[]. CSC 1051 M.A. Papalaskari, Villanova University

Command-Line Arguments It turns out we have been using arrays as parameters all along! public static void main (String[] args) CSC 1051 M.A. Papalaskari, Villanova University

Command-Line Arguments It turns out we have been using arrays as parameters all along! These values come from command-line arguments that are provided when the interpreter is invoked jGrasp calls them “Run Arguments” CSC 1051 M.A. Papalaskari, Villanova University public class Test { public static void main (String[] args) { System.out.println (); System.out.println (" " + args[0]); System.out.println (" " + args[1]); }

More array examples (see textbook): BasicArray.java Primes.java ReverseOrder.java LetterCount.java CSC 1051 M.A. Papalaskari, Villanova University

Another example of the use of arrays: Computing letter frequency counts Sample run: CSC 1051 M.A. Papalaskari, Villanova University Enter a sentence: In Casablanca, Humphrey Bogart never says "Play it again, Sam." A: 0a: 10 B: 1b: 1 C: 1c: 1 D: 0d: 0 E: 0e: 3 … Let’s write a program to do this

Letter Frequency counts - Algorithm Uses two arrays: upper and lower with 26 elements each, to count the number of upper- and lowercase letters, respectively. 1.declare and instantiate upper and lower with 26 elements of type int 2.prompt user to "Enter a sentence:” and scan input into a String line 3.for each character current in line do the following: –if ( current is between ‘A’ and 'Z') position  current - 'A’ // compute distance from ‘A’ upper [ position ]  upper [ position ] + 1 // increment count for current –else if ( current is between ‘a’ and ‘z') position  current – ‘a’ lower [ position ]  upper [ position ] + 1 – else do nothing // current is not a letter 1.CSC 1051 M.A. Papalaskari, Villanova University

CSC 1051 M.A. Papalaskari, Villanova University //******************************************************************** // LetterCount.java Author: Lewis/Loftus // // Demonstrates the relationship between arrays and strings. //******************************************************************** import java.util.Scanner; public class LetterCount { // // Reads a sentence from the user and counts the number of // uppercase and lowercase letters contained in it. // public static void main (String[] args) { final int NUMCHARS = 26; Scanner scan = new Scanner (System.in); int[] upper = new int[NUMCHARS]; int[] lower = new int[NUMCHARS]; char current; // the current character being processed int other = 0; // counter for non-alphabetics continue

CSC 1051 M.A. Papalaskari, Villanova University continue System.out.println ("Enter a sentence:"); String line = scan.nextLine(); // Count the number of each letter occurence for (int ch = 0; ch < line.length(); ch++) { current = line.charAt(ch); if (current >= 'A' && current <= 'Z') upper[current-'A']++; else if (current >= 'a' && current <= 'z') lower[current-'a']++; else other++; } continue

CSC 1051 M.A. Papalaskari, Villanova University continue // Print the results System.out.println (); for (int letter=0; letter < upper.length; letter++) { System.out.print ( (char) (letter + 'A') ); System.out.print (": " + upper[letter]); System.out.print ("\t\t" + (char) (letter + 'a') ); System.out.println (": " + lower[letter]); } System.out.println (); System.out.println ("Non-alphabetic characters: " + other); }

CSC 1051 M.A. Papalaskari, Villanova University continue // Print the results System.out.println (); for (int letter=0; letter < upper.length; letter++) { System.out.print ( (char) (letter + 'A') ); System.out.print (": " + upper[letter]); System.out.print ("\t\t" + (char) (letter + 'a') ); System.out.println (": " + lower[letter]); } System.out.println (); System.out.println ("Non-alphabetic characters: " + other); } Sample Run Enter a sentence: In Casablanca, Humphrey Bogart never says "Play it again, Sam." A: 0a: 10 B: 1b: 1 C: 1c: 1 D: 0d: 0 E: 0e: 3 F: 0f: 0 G: 0g: 2 H: 1h: 1 I: 1i: 2 J: 0j: 0 K: 0k: 0 L: 0l: 2 M: 0m: 2 N: 0n: 4 O: 0o: 1 P: 1p: 1 Q: 0q: 0 continue Sample Run (continued) R: 0r: 3 S: 1s: 3 T: 0t: 2 U: 0u: 1 V: 0v: 1 W: 0w: 0 X: 0x: 0 Y: 0y: 3 Z: 0z: 0 Non-alphabetic characters: 14