Chapter 13: Arrays of Objects
|
|
- Oswin Edwards
- 6 years ago
- Views:
Transcription
1 Chapter 13: Arrays of Objects Think Java: How to Think Like a Computer Scientist by Allen B. Downey As in Chapter 11, we will be following a more standard approach than the one taken by Downey in this chapter. Instead, please refer to Chapter 5 Sections and Chapter 7 of Eck, "Java Notes", also linked from the class website.
2 Review: Arrays An array is a set of values where each value is identified by an index. array elements int size = 6; array index 1-2
3 Access Array Elements using the [ ] operator Note: as with String, elements go from 0 to 3 count[4] = 2; ArrayOutOfBounds Execption 1-3
4 Arrays of Primitives (char, int, double, boolean) When we create an array of primitive data, the data is stored in each element of the array: char[] grades = {'A','B','D','F','B'}; grades 'A' 'B' 'D' 'F' 'B' boolean[] pass = new boolean[grades.length]; pass false false false false false
5 Arrays of Primitives We usually process arrays using for loops for (int k = 0; k < grades.length; k++) if (grades[k] >= 'A' && grades[k] <= 'C') pass[k] == true; k grades 'A' 'B' 'D' 'F' 'B' pass false false false false false
6 We can also create our own Objects Remember, object variables store a reference to where the object is stored Time t = new Time(11,30,40); t hour 11 minute 30 second
7 Arrays of Objects: Each element is a reference to an object Time [] appts = new Time[5]; appts[0] = new Time(9,20,0); appts[1] = new Time(11,15,0); appts null null null null null hour 9 minute 20 hour 11 minute 15 second 0 second 0 1-7
8 To modify an object in an array, specify array[index] first appts[0].hour = 12; appts[1].minute = 30; appts[2].second = 15; // Null Pointer Exception! appts null null null null null hour 9 minute 20 hour 11 minute 15 second 0 second 0 1-8
9 If we make the instance variables private, we have to use the set methods appts[0].sethour(12); appts[1].setminute(30); appts[2].setsecond(15); // Null Pointer Exception! appts null null null null null hour 9 minute 20 hour 11 minute 15 second 0 second 0 1-9
10 You can use a for loop to create all the objects for (int k = 0; k < appts.length; k++) appts[k] = new Time(); appts
11 And another for loop to print them all out for (int k = 0; k < appts.length; k++) appts[k].print(); Console 12:00:00 12:00:00 12:00:00 12:00:00 12:00:00 appts
12 For Lab 13 we will practice creating arrays of different objects 1-12
13 Writing Methods that Process Arrays This method would be defined in the ArrayOfObjects class public static void printalltimes(time s [] times) { } for (int k = 0; k < times.length; k++) times[k].print(); System.out.println(""); // go to new line Calling the method from main: printalltimes(appts); 1-13
14 Other Classes we will work with in Lab13 String: String name = "Jasper"; Employee: Employee cpa = new Employee("Bill",1111,37000); 1-14
15 Arrays of Objects you can create Array of String: String [] dictionary = new String[100000]; String [] names = {"Joe","Allie","Sam","Fay"}; Array of Scrabble Tile objects: Tile [] letterbag = new Tile[99]; Tile [] player1rack = new Tile[7]; Array of Employee: Employee [] marketingteam = new Employee[15]; Array of Card: Card [] pokerhand = new Card[4]; 1-15
16 Do Lab 13 Problems 0 through 3 First define the Employee class (review) 1-16
17 Part B Lecture Additional OOP (object) methods tostring equals compareto A Card class Reading data from a file into an array Working with partially filled arrays 1-17
18 Our OOP Model for objects Each class that can make objects has private instance variables accessor methods (get) modifier methods (set) print method 1-18
19 Example: Time class instance variables: int hour, minute; double second; accessor methods gethour, getminute, getsecond modifier methods sethour, setminute, setsecond print method print We are going to add 3 more items to this list 1-19
20 Additional methods for OOP The following slides illustrate three other very useful methods you will want to incorporate into your own defined classes to make it easy to work with their objects (instances) tostring equals compareto We will demonstrate implementing these for the Time and Employ class in lab
21 The tostring method Every object type has a method tostring returns a string representation of the object When you System.out.print an object Java calls the object s tostring method automatically Default version just returns the object's Hex address System.out.print("The time is " + now); prints: The time is Time@80cc7c0 1-21
22 Define a tostring method for Time Can override the default behavior with own def: public String tostring() { } return hour + ":" + minute + ":" + second; Allows for better output: System.out.print("The time is " + now); prints: The time is 11:35:
23 You could also invoke tostring explicitly Just like any other object method Time now = new Time(12,23,47); String s = now.tostring(); 1-23
24 Try this out now in your lab13 project write the tostring method for Time and Employee class demo by changing the print statements in ArraysOfObjects 1-24
25 Notions of same-ness with objects What is the meaning of "same"? "Chris and I have the same car" Same make and model But two different cars "Chris and I have the same mother" his mother and mine are one person 1-25
26 Card Class class Card{ private char suit; private int rank; This was part of assignment 11 Cards are represented by char for suit: 'C' = Clubs, 'D' = Diamonds, 'H' = Hearts, 'S' = Spades And an integer for rank: 1 = Ace, 2-10, 11=Jack, 12=Queen, 13=King Card mystery = new Card('H',13); 1-26
27 Both possibilities of "sameness" with objects in Java Card1 and Card2 contain the same data Card1 and Card2 refer to the same object 1-27
28 Two references to the same object To see if two references refer to the same object, we use the == operator References to the same object are identical 1-28
29 Two Objects with the Same Data To see if two object contain the same data, write a method, equals, in the Card class References to objects with same data are equivalent. 1-29
30 The equals Method To check equivalence, it is standard practice to write a method with the name equals. public boolean equals(card that) { return (this.suit == that.suit && this.rank == that.rank;) } 1-30
31 Application to String Objects Using == to check for String equivalence is an error: String s1 = "hello"; String s2 = "hello"; if (s1 == s2) false, not identical System.out.println("same"); else Two different objects, with same data System.out.println("Not the same"); 1-31
32 Correct way to check for String Equivalence The.equals method for String objects String s1 = "hello"; String s2 = "hello"; if (s1.equals(s2)) true, equivalent objects System.out.println("same"); else Two different objects, with same data System.out.println("Not the same"); 1-32
33 Try this out now in your lab13 project write an equals method for Time and Employee class demo by comparing Time and Employee objects in ArraysOfObjects 1-33
34 Comparing Primitives and Objects Comparing primitives: use <,>,==,<=,>=,!= int x = 4, y = 6; if (x < y) System.out.println("x < y"); Comparing String objects: String s1 = "apple", s2 = "apply"; if (s1.compareto(s2) < 0) System.out.println("s1 before s2"); 1-34
35 The compareto Method How to order cards? By suit, then by rank? or, by rank, then by suit? Cards come ordered by suit, then rank First compare suit: if (this.suit > that.suit) return 1; if (this.suit < that.suit) return -1; Then compare rank: if (this.rank > that.rank) return 1; if (this.rank < that.rank) return -1; If neither of the above is true, must be same just return
36 The compareto method for Card class class Card{ private char suit; private int rank;... public int compareto(card that) { } } if (this.suit > that.suit) return 1; if (this.suit < that.suit) return -1; if (this.rank > that.rank) return 1; if (this.rank < that.rank) return -1; return 0; 1-36
37 Try this out now in your lab13 project write the compareto method for Time class compare hour, then min, then sec for Employee class compare name, then if they are the same, by id demo by comparing Time and Employee objects in ArraysOfObjects 1-37
38 Arrays of Cards Create an array to hold 52 cards The array contains references to objects does not hold objects themselves cards[0].print(); // Null Pointer Exception! 1-38
39 Creating a Deck of Cards 1 way is to have the user enter all the values for a deck of Cards not practical Another way is to read a list of Card values from a file, say cards.txt 1-39
40 Read a Deck of Cards from a file Declare a file Scanner: Scanner inputfile = new Scanner(new File("cards.txt")); Read file data into temp local variables char tempsuit = inputfile.next().charat(0); int temprank = inputfile.nextint(); Create a new Card object based on values read Card tempcard = new Card(tempSuit, temprank); Store tempcard in array deck[index] = tempcard; Put in a loop that repeats 52 times 1-40
41 Read a Deck of Cards from a file You will also need to import: import java.util.scanner; import java.io.file; import java.io.filenotfoundexception; And tell Java your main method (potentially) throws FileNotFoundException 1-41
42 The resulting array of cards after loop 1-42
43 The printdeck method Encode a traversal of cards array into a method public static void printdeck(card [] cards) { } for (int k = 0; k < cards.length; k++) cards[k].print(); System.out.println(""); // go to newline 1-43
44 Partially Filled Arrays Typically, if the amount of data that an array must hold is unknown: size the array to the largest expected number of elements. use a counting variable to keep track of how much valid data is in the array. int[] array = new int[100]; int count = 0; System.out.print("Enter a number or -1 to quit: "); number = keyboard.nextint(); while (number!= -1 && count <= 99) { array[count] = number; count++; System.out.print("Enter a number or -1 to quit: "); number = keyboard.nextint(); } input, number and keyboard were previously declared and keyboard references a Scanner object 8-44
45 Processing a Partially Filled Array After the code in the previous slide, we can process the array with a loop that goes up to count: for ( int k = 0; k < count; k++) System.out.println( array[k] ); Only processes the cells that have been filled with data the ArrayList class (next Lecture) shows a better way to handle arrays with fluctuating size 8-45
46 Start Assignment
Chapter 11: Create Your Own Objects
Chapter 11: Create Your Own Objects Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey Our usual text takes a fairly non-standard departure in this chapter. Instead, please refer
More informationAggregation and Composition. [notes Chapter 4]
Aggregation and Composition [notes Chapter 4] 1 Aggregation and Composition the terms aggregation and composition are used to describe a relationship between objects both terms describe the has-a relationship
More informationChapter 12: Arrays Think Java: How to Think Like a Computer Scientist by Allen B. Downey
Chapter 12: Arrays Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey Current Options for Storing Data 1) You need to store the room temperature, such as 62.5, in a variable. What
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationChapter 8: Strings and Things
Chapter 8: Strings and Things Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey Word Of Fortune Program this will be cleared when it's working 1-2 Chapter Topics Chapter 8 discusses
More informationClasses Classes 2 / 35
Classes 1 / 35 Classes Classes 2 / 35 Anatomy of a Class By the end of next lecture, you ll understand everything in this class definition. package edu. gatech. cs1331. card ; import java. util. Arrays
More informationUniversity of Cape Town ~ Department of Computer Science Computer Science 1015F ~ Test 2. Question Max Mark Internal External
Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2009 Test 2 Question Max Mark Internal
More informationClasses Classes 2 / 36
Classes 1 / 36 Classes Classes 2 / 36 Anatomy of a Class By the end of next lecture, you ll understand everything in this class definition. package edu. gatech. cs1331. card ; import java. util. Arrays
More informationOct Decision Structures cont d
Oct. 29 - Decision Structures cont d Programming Style and the if Statement Even though an if statement usually spans more than one line, it is really one statement. For instance, the following if statements
More informationHow Many Sorts? if( list[j] < list[small]) small = j; double temp = list[i]; list[i] = list[small]; list[small] = temp; } // end of i loop
Topic 7 Interfaces I once attended a Java user group meeting where James Gosling (one of Java's creators) was the featured speaker. During the memorable Q&A session, someone asked him: "If you could do
More informationCS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University
CS5000: Foundations of Programming Mingon Kang, PhD Computer Science, Kennesaw State University Generating random numbers Obtain a random double value between 0.0 and 1.0, excluding 1.0 Math.random() Random
More informationInterpreted vs Compiled. Java Compile. Classes, Objects, and Methods. Hello World 10/6/2016. Python Interpreted. Java Compiled
Interpreted vs Compiled Python 1 Java Interpreted Easy to run and test Quicker prototyping Program runs slower Compiled Execution time faster Virtual Machine compiled code portable Java Compile > javac
More informationModule 7: Arrays (Single Dimensional)
Module 7: Arrays (Single Dimensional) Objectives To describe why arrays are necessary in programming ( 7.1). To declare array reference variables and create arrays ( 7.2.1 7.2.2). To obtain array size
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of January 21, 2013 Abstract Review of object-oriented programming concepts: Implementing
More informationIntroduction to Computing II (ITI 1121) Final Examination
Université d Ottawa Faculté de génie École de science informatique et de génie électrique University of Ottawa Faculty of Engineering School of Electrical Engineering and Computer Science Introduction
More informationCheck out Decisions from SVN. Console Input, Text Formatting, Decision Statements and Expressions
Check out Decisions from SVN Console Input, Text Formatting, Decision Statements and Expressions String Input and Output Quick review of if statements == vs. equals() Selection operator,? : Optional:
More informationCIS November 14, 2017
CIS 1068 November 14, 2017 Administrative Stuff Netflix Challenge New assignment posted soon Lab grades Last Time. Building Our Own Classes Why Abstraction More on the new operator Fields Class vs the
More informationCIS 1068 Netflix Challenge New assignment posted soon Lab grades November 14, 2017
Administrative Stuff CIS 1068 Netflix Challenge New assignment posted soon Lab grades November 14, 2017 Last Time. Building Our Own Classes Why Abstraction More on the new operator Fields Class vs the
More informationpublic Student(int theage, String thename, char thegrade) { age = theage; name = thename; grade = thegrade; } public int getage() { return age;}
Java Class Types CSCI 136: Fall 2018 Handout 3 12 September Class Types We noted earlier that the String type in Java was not a primitive (or array) type. It is what Java calls a classbased (or class)
More informationLecture 17. For Array Class Shenanigans
Lecture 17 For Array Class Shenanigans For or While? class WhileDemo { public static void main(string[] args){ int count = 1; while (count < 11) { System.out.println("Count is: " + count); count++; Note:
More informationGetting started with Java
Getting started with Java by Vlad Costel Ungureanu for Learn Stuff Programming Languages A programming language is a formal constructed language designed to communicate instructions to a machine, particularly
More informationDM550 Introduction to Programming part 2. Jan Baumbach.
DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net COURSE ORGANIZATION 2 Course Elements Lectures: 10 lectures Find schedule and class rooms in online
More informationSPRING 13 CS 0007 FINAL EXAM V2 (Roberts) Your Name: A pt each. B pt each. C pt each. D or 2 pts each
Your Name: Your Pitt (mail NOT peoplesoft) ID: Part Question/s Points available Rubric Your Score A 1-6 6 1 pt each B 7-12 6 1 pt each C 13-16 4 1 pt each D 17-19 5 1 or 2 pts each E 20-23 5 1 or 2 pts
More informationCSCI 355 Lab #2 Spring 2007
CSCI 355 Lab #2 Spring 2007 More Java Objectives: 1. To explore several Unix commands for displaying information about processes. 2. To explore some differences between Java and C++. 3. To write Java applications
More informationText User Interfaces. Keyboard IO plus
Text User Interfaces Keyboard IO plus User Interface and Model Model: objects that solve problem at hand. User interface: interacts with user getting input from user giving output to user reporting on
More informationCSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2018 Instructors: Bill & Bill
CSCI 136 Data Structures & Advanced Programming Lecture 3 Fall 2018 Instructors: Bill & Bill Administrative Details Lab today in TCL 217a (and 216) Lab is due by 11pm Sunday Lab 1 design doc is due at
More informationChapter 15: Object Oriented Programming
Chapter 15: Object Oriented Programming Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey How do Software Developers use OOP? Defining classes to create objects UML diagrams to
More informationITI 1120 Lab #9. Slides by: Diana Inkpen, Alan Williams, Daniel Amyot Some original material by Romelia Plesa
ITI 1120 Lab #9 Slides by: Diana Inkpen, Alan Williams, Daniel Amyot Some original material by Romelia Plesa 1 Objectives Review fundamental concepts Example: the Time class Exercises Modify the Time class
More informationEECS2030 Day 8 worksheet Tue Oct 3, // the easy way return Integer.compare(this.size, other.size);
1. comparable Implement a compareto method for each of the following classes: (a) public class Shoe implements Comparable { public int compareto(shoe other) { // compare shoes by size // the easy
More informationArrays and Lists CSC 121 Fall 2014 Howard Rosenthal
Arrays and Lists CSC 121 Fall 2014 Howard Rosenthal Lesson Goals Understand what an array is Understand how to declare arrays Understand what reference variables are Understand how to pass arrays to methods
More informationLast Class. While loops Infinite loops Loop counters Iterations
Last Class While loops Infinite loops Loop counters Iterations public class January31{ public static void main(string[] args) { while (true) { forloops(); if (checkclassunderstands() ) { break; } teacharrays();
More informationSTUDENT LESSON A12 Iterations
STUDENT LESSON A12 Iterations Java Curriculum for AP Computer Science, Student Lesson A12 1 STUDENT LESSON A12 Iterations INTRODUCTION: Solving problems on a computer very often requires a repetition of
More information5) (4 points) What is the value of the boolean variable equals after the following statement?
For problems 1-5, give a short answer to the question. (15 points, ~8 minutes) 1) (4 points) Write four Java statements that declare and initialize the following variables: A) a long integer with the value
More informationSCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177. Programming
s SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177 Programming Time allowed: THREE hours: Answer: ALL questions Items permitted: Items supplied: There is
More information1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8
Epic Test Review 1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4 Write a line of code that outputs the phase Hello World to the console without creating a new line character. System.out.print(
More informationAP Computer Science Chapter 10 Implementing and Using Classes Study Guide
AP Computer Science Chapter 10 Implementing and Using Classes Study Guide 1. A class that uses a given class X is called a client of X. 2. Private features of a class can be directly accessed only within
More informationChapter 6 - Pointers
Chapter 6 - Pointers Outline 1 Introduction 2 Pointer Variable Declarations and Initialization 3 Pointer Operators 4 Calling Functions by Reference 5 Using the const Qualifier with Pointers 6 Bubble Sort
More informationint x = 42, y = 33; //1 int z = x + y; //2 System.out.println(x + "+" + y + "=" + z); //3
In requested outputs below, show all output in the order of execution, with correct line breaks, without mixing in comments or intermediate steps. You increase your chances of partial credit if you also
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationExceptions Binary files Sequential/Random access Serializing objects
Advanced I/O Exceptions Binary files Sequential/Random access Serializing objects Exceptions No matter how good of a programmer you are, you can t control everything. Other users Available memory File
More informationFaculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Midterm Examination
First Name: Last Name: McGill ID: Section: Faculty of Science COMP-202A - Introduction to Computing I (Fall 2008) Midterm Examination Tuesday, November 4, 2008 Examiners: Mathieu Petitpas [Section 1] 18:30
More informationUniversity of Cape Town ~ Department of Computer Science. Computer Science 1015F ~ 2007
Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2007 Final Examination Question Max
More informationProgramming for Engineers Pointers
Programming for Engineers Pointers ICEN 200 Spring 2018 Prof. Dola Saha 1 Pointers Pointers are variables whose values are memory addresses. A variable name directly references a value, and a pointer indirectly
More informationCS201 - Assignment 1, Part 2 Due: Wednesday February 19, at the beginning of class
CS201 - Assignment 1, Part 2 Due: Wednesday February 19, at the beginning of class 1 Java Practice To give you some practice writing functions/methods in Java, for the first part of this assignment, you
More informationProgramming with Java
Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules
More informationCourse Outline. Introduction to java
Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.
More informationCS 302: INTRODUCTION TO PROGRAMMING. Lectures 7&8
CS 302: INTRODUCTION TO PROGRAMMING Lectures 7&8 Hopefully the Programming Assignment #1 released by tomorrow REVIEW The switch statement is an alternative way of writing what? How do you end a case in
More informationCIS 1068 Program Design and Abstraction Spring2016 Midterm Exam 1. Name SOLUTION
CIS 1068 Program Design and Abstraction Spring2016 Midterm Exam 1 Name SOLUTION Page Points Score 2 15 3 8 4 18 5 10 6 7 7 7 8 14 9 11 10 10 Total 100 1 P age 1. Program Traces (41 points, 50 minutes)
More informationMIDTERM REVIEW. midterminformation.htm
MIDTERM REVIEW http://pages.cpsc.ucalgary.ca/~tamj/233/exams/ midterminformation.htm 1 REMINDER Midterm Time: 7:00pm - 8:15pm on Friday, Mar 1, 2013 Location: ST 148 Cover everything up to the last lecture
More informationCSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O
CSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O 1 Sending Output to a (Text) File import java.util.scanner; import java.io.*; public class TextFileOutputDemo1 public static void
More informationControl Structures: if and while A C S L E C T U R E 4
Control Structures: if and while A C S - 1903 L E C T U R E 4 Control structures 3 constructs are essential building blocks for programs Sequences compound statement Decisions if, switch, conditional operator
More informationArrays and Lists CSC 121 Fall 2015 Howard Rosenthal
Arrays and Lists CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Understand what an array is Understand how to declare arrays Understand what reference variables are Understand how to pass arrays to methods
More informationCSCI 355 LAB #2 Spring 2004
CSCI 355 LAB #2 Spring 2004 More Java Objectives: 1. To explore several Unix commands for displaying information about processes. 2. To explore some differences between Java and C++. 3. To write Java applications
More informationIT 313 Advanced Application Development
Page 1 of 7 IT 313 Advanced Application Development Practice Midterm Exam Part A. Multiple Choice Questions. Answer all questions. Optional: supply a reason or show work for partial credit in case you
More informationArrays and Lists CSC 121 Fall 2016 Howard Rosenthal
Arrays and Lists CSC 121 Fall 2016 Howard Rosenthal Lesson Goals Understand what an array is Understand how to declare arrays Understand what reference variables are Understand how to pass arrays to methods
More informationInf1-OOP. Arrays. Many Variables of the Same Type. Arrays Introduction to Arrays Arrays in Java Shuffling a Deck Multidimensional Arrays Summary/Admin
Inf1-OOP Arrays 1 Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics Arrays Introduction to Arrays Arrays in Java Shuffling a Deck Multidimensional Arrays Summary/Admin January
More informationProgram 12 - Spring 2018
CIST 1400, Introduction to Computer Programming Programming Assignment Program 12 - Spring 2018 Overview of Program Earlier this semester, you have written programs that read and processed dates in various
More informationCSCE121: Introduction to Program Design and Concepts Practice Questions for Midterm 1
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CSCE121: Introduction to Program Design and Concepts Practice Questions for Midterm 1 March 11, 2018 Question 1: Identify the common elements of two sorted
More informationRefresher: Interface Specifications. ADT Documentation. Set Represented as an Array. Representation Invariant, Abstraction Function
CS 247: Software Engineering Principles Representation Invariant, Abstraction Function Refresher: Interface Specifications An interface specification is a contract between a module's provider and the client
More informationClasses. 1 Data Abstraction. 2 A Complex Number ADT
Classes 1 Data Abstraction An abstraction of a concept attempts to capture the essence of the concept its essential properties and behaviors by ignoring irrelevant details. Process abstraction - group
More informationAdministration. Objects and Arrays. Objects. Agenda. What is an Object? What is a Class?
Administration Objects and Arrays CS 99 Summer 2000 Michael Clarkson Lecture 6 Read clarified grading policies Lab 6 due tomorrow Submit.java files in a folder named Lab6 Lab 7 Posted today Upson Lab closed
More informationRepresentation Invariant, Abstraction Function
CS 247: Software Engineering Principles Representation Invariant, Abstraction Function Reading: Barbara Liskov and John Guttag, Program Development in Java: Abstraction, Specification, and Object Oriented
More informationInf1-OOP. Arrays 1. Perdita Stevens, adapting earlier version by Ewan Klein. January 11, School of Informatics
Inf1-OOP Arrays 1 Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics January 11, 2015 1 Thanks to Sedgewick&Wayne for much of this content Arrays Introduction to Arrays Arrays
More informationLab Exercise 1. Objectives: Part 1. Introduction
Objectives: king Saud University College of Computer &Information Science CSC111 Lab Object II All Sections - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
More informationFundamentals of Programming Data Types & Methods
Fundamentals of Programming Data Types & Methods By Budditha Hettige Overview Summary (Previous Lesson) Java Data types Default values Variables Input data from keyboard Display results Methods Operators
More informationCSC1590 Java Assignment 2-0. User Defined Classes
CSC1590 Java Assignment 2-0 User Defined Classes This is Chapter 8 in your textbooks. We are now starting to create more complex programs and classes. In this example today we will have a class that consists
More informationChapter 7: Arrays and the ArrayList Class
Chapter 7: Arrays and the ArrayList Class Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 7 discusses the following main topics: Introduction
More informationAssignment 8B SOLUTIONS
CSIS 10A Assignment 8B SOLUTIONS Read: Chapter 8 Choose and complete any 10 points from the problems below, which are all included in the download file on the website. Use BlueJ to complete the assignment,
More informationCSCI 136 Data Structures & Advanced Programming. Lecture 3 Fall 2017 Instructors: Bill & Bill
CSCI 136 Data Structures & Advanced Programming Lecture 3 Fall 2017 Instructors: Bill & Bill Administrative Details Lab today in TCL 216 (217a is available, too) Lab is due by 11pm Sunday Copy your folder
More informationSoftware Practice 1 Basic Grammar
Software Practice 1 Basic Grammar Basic Syntax Data Type Loop Control Making Decision Prof. Joonwon Lee T.A. Jaehyun Song Jongseok Kim (42) T.A. Sujin Oh Junseong Lee (43) 1 2 Java Program //package details
More informationboolean, char, class, const, double, else, final, float, for, if, import, int, long, new, public, return, static, throws, void, while
CSCI 150 Fall 2007 Java Syntax The following notes are meant to be a quick cheat sheet for Java. It is not meant to be a means on its own to learn Java or this course. For that you should look at your
More informationCSC 240 Computer Science III Spring 2018 Midterm Exam. Name
CSC 240 Computer Science III Spring 2018 Midterm Exam Name Page Points Score 2 9 4-6 53 7-10 38 Total 100 1 P age 1. Tracing programs (1 point each value): For each snippet of Java code on the left, write
More informationIntroduction to Inheritance
Introduction to Inheritance James Brucker These slides cover only the basics of inheritance. What is Inheritance? One class incorporates all the attributes and behavior from another class -- it inherits
More informationLoops. GEEN163 Introduction to Computer Programming
Loops GEEN163 Introduction to Computer Programming Simplicity is prerequisite for reliability. Edsger W. Dijkstra Programming Assignment A new programming assignment has been posted on Blackboard for this
More informationWhen we reach the line "z = x / y" the program crashes with the message:
CSCE A201 Introduction to Exceptions and File I/O An exception is an abnormal condition that occurs during the execution of a program. For example, divisions by zero, accessing an invalid array index,
More informationYou will not be tested on JUnit or the Eclipse debugger. The exam does not cover interfaces.
Com S 227 Fall 2016 Topics and review problems for Exam 2 Thursday, November 10, 6:45 pm Locations, by last name: (same locations as Exam 1) A-C Curtiss 0127, first floor only D-N Hoover 2055 O-Z Troxel
More informationPlease answer the following questions. Do not re-code the enclosed codes if you have already completed them.
Dec. 9 Loops Please answer the following questions. Do not re-code the enclosed codes if you have already completed them. What is a loop? What are the three loops in Java? What do control structures do?
More informationFaculty of Science COMP-202B - Introduction to Computing I (Winter 2009) Midterm Examination
First Name: Last Name: McGill ID: Section: Faculty of Science COMP-202B - Introduction to Computing I (Winter 2009) Midterm Examination Monday, March 9, 2009 Examiners: Mathieu Petitpas [Section 1] 18:30
More informationCS 113 PRACTICE FINAL
CS 113 PRACTICE FINAL There are 13 questions on this test. The value of each question is: 1-10 multiple choice (4 pt) 11-13 coding problems (20 pt) You may get partial credit for questions 11-13. If you
More informationCS 302: Introduction to Programming in Java. Lecture 15
CS 302: Introduction to Programming in Java Lecture 15 Class Instances of the class (objects) only valid at runtime Private Instance Methods Instance methods usually public why? If we have an internal
More informationIT 313 Advanced Application Development Midterm Exam
Page 1 of 9 February 12, 2019 IT 313 Advanced Application Development Midterm Exam Name Part A. Multiple Choice Questions. Circle the letter of the correct answer for each question. Optional: supply a
More informationAlgebraic data types. The case against null
Algebraic data types The case against null Motivation PL history (1970's) SML, OCaml, Haskell, Scala, F#, Rust, Swift Variants Null references User-defined Types compound ("Dunedin", 120_000) : string
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Interface Abstract data types Version of January 26, 2013 Abstract These lecture notes are meant
More informationBlueJ Demo. Topic 1: Basic Java. 1. Sequencing. Features of Structured Programming Languages
Topic 1: Basic Java Plan: this topic through next Friday (5 lectures) Required reading on web site I will not spell out all the details in lecture! BlueJ Demo BlueJ = Java IDE (Interactive Development
More informationCOMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette
COMP 250: Java Programming I Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette Variables and types [Downey Ch 2] Variable: temporary storage location in memory.
More informationClasses and Objects: A Deeper Look
1 8 Classes and Objects: A Deeper Look 1 // Fig. 8.1: Time1.java 2 // Time1 class declaration maintains the time in 24-hour format. 4 public class Time1 6 private int hour; // 0 2 7 private int minute;
More informationCOMP-202B - Introduction to Computing I (Winter 2011) - All Sections Example Questions for In-Class Quiz
COMP-202B - Introduction to Computing I (Winter 2011) - All Sections Example Questions for In-Class Quiz The in-class quiz is intended to give you a taste of the midterm, give you some early feedback about
More informationAssignment 1 due Monday at 11:59pm
Assignment 1 due Monday at 11:59pm The heart of Object-Oriented Programming (Now it gets interesting!) Reading for next lecture is Ch. 7 Focus on 7.1, 7.2, and 7.6 Read the rest of Ch. 7 for class after
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationChapter 6 Lab Classes and Objects
Gaddis_516907_Java 4/10/07 2:10 PM Page 51 Chapter 6 Lab Classes and Objects Objectives Be able to declare a new class Be able to write a constructor Be able to write instance methods that return a value
More informationUniversity of Cape Town ~ Department of Computer Science. Computer Science 1015F ~ 2007
Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2007 Supplementary Examination Question
More informationBinghamton University. CS-140 Fall Problem Solving. Creating a class from scratch
Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods
More informationComputer Science is...
Computer Science is... Machine Learning Machine learning is the study of computer algorithms that improve automatically through experience. Example: develop adaptive strategies for the control of epileptic
More informationWentworth Institute of Technology. Engineering & Technology WIT COMP1000. Java Basics
WIT COMP1000 Java Basics Java Origins Java was developed by James Gosling at Sun Microsystems in the early 1990s It was derived largely from the C++ programming language with several enhancements Java
More informationTask #1 The if Statement, Comparing Strings, and Flags
Chapter 3 Lab Selection Control Structures Lab Objectives Be able to construct boolean expressions to evaluate a given condition Be able to compare Strings Be able to use a flag Be able to construct if
More informationSample file. Practice Exam One COMPUTER SCIENCE A SECTION I. Directions: Determine the answer to each of the following questions or incomplete
Practice Exam One / Level A Diagnostic Test 5 Practice Exam One COMPUTER SCIENCE A SECTION I Time 1 hour and 15 minutes Number of questions 40 Percent of total grade 50 Directions: Determine the answer
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1: Introduction Lecture Contents 2 Course info Why programming?? Why Java?? Write once, run anywhere!! Java basics Input/output Variables
More informationChapter 4: Conditionals and Recursion
Chapter 4: Conditionals and Recursion Think Java: How to Think Like a Computer Scientist 5.1.2 by Allen B. Downey Agenda The modulus operator Random Number Generation Conditional Execution Alternative
More informationThe class Object. Lecture CS1122 Summer 2008
The class Object http://www.javaworld.com/javaworld/jw-01-1999/jw-01-object.html Lecture 10 -- CS1122 Summer 2008 Review Object is at the top of every hierarchy. Every class in Java has an IS-A relationship
More information1. An operation in which an overall value is computed incrementally, often using a loop.
Practice Exam 2 Part I: Vocabulary (10 points) Write the terms defined by the statements below. 1. An operation in which an overall value is computed incrementally, often using a loop. 2. The < (less than)
More information