CS 61B Discussion 5: Inheritance II Fall 2014

Save this PDF as:

Size: px
Start display at page:

Transcription

1 CS 61B Discussion 5: Inheritance II Fall WeirdList Below is a partial solution to the WeirdList problem from homework 3 showing only the most important lines. Part A. Complete the implementation of WeirdList by adding a field. Then complete the lines in UseWeirdList (on the next page) such that wlone is a WeirdList containing only the number 1, and wltwoone contains the numbers 2 and 1. Ignore map for now. Throughout this problem, do not use any if, switch, while, for, do, or try statements, and do not use the?: operator. public class WeirdList { private int head; private WeirdList tail; /** The empty sequence of integers. */ public static final WeirdListEmpty EMPTY = new WeirdListEmpty(); /** Returns the number of elements in the sequence that * starts with THIS. */ public int length() { return 1 + tail.length(); public WeirdList(int h, WeirdList t) { head = h; tail = t; /** Apply FUNC.apply to every element of THIS WeirdList in * sequence, and return a WeirdList of the resulting values. */ public WeirdList map(intunaryfunction func) { return new WeirdList(func.apply(head), tail.map(func)); public class WeirdListEmpty extends WeirdList{ public int length() { return 0; public WeirdListEmpty() { super(0, null); public WeirdList map(intunaryfunction func) { return this; /* Return yourself, a WeirdListEmpty. */ public interface IntUnaryFunction { /** Return the result of applying this function to X. */ int apply(int x); CS 61B, Fall 2014, Discussion 5: Inheritance II 1

2 public class UseWeirdList { /** Sets wlone to be a WeirdList containing one. * and wltwoone to be a WeirdList containing two, then one. */ public static void main(string[] args) { WeirdList wlone = new WeirdList(1, WeirdList.EMPTY); WeirdList wltwoone = new WeirdList(2, wlone); /** Returns the maximum non-negative integer in W. If * no non-negative integers exist, return -1 instead. * Do not use recursion in the code for this method. */ public static int maxpos(weirdlist w) { Maximizer maximizer = new Maximizer(); L.map(maximizer); return maximizer.max; public class Maximizer implements IntUnaryFunction { public int max; public Maximizer() { max = -1; public int apply(int x) { max = Math.max(x, max); return max; Part B. Complete the WeirdListEmpty implementation by filling in the return statement for the map function. If you do not know how to proceed, ask your neighbors. If you know the answer, help out your neighbors. Do it quick, the next part is the intersting part. Part C. Implement the maxpos function. Hint: You ll need to create another class! Do not make recursive calls in your maxpos function or your new class. As throughout this entire problem, do not use any if, switch, while, for, do, or try statements, and do not use the?: operator. Part D. Follow-up: In your solution, did your return value for the apply method matter? The return value of the apply method doesn t matter, because we just end up taking the max member from Maximizer anyway. CS 61B, Fall 2014, Discussion 5: Inheritance II 2

4 5. The call to trr.read() results in a call to the read(char[], int, int) method of some instance of the FileReader class. T: Yes, since trr was instantiated with a FileReader. 6. The call to trr.read() results in a call to the read() method of the FileReader class. U: We don t know if FileReader overrides the default read() method. CS 61B, Fall 2014, Discussion 5: Inheritance II 4

5 3 Extra Questions (not covered in section) These questions might not make sense until you get around to understanding the basics covered in lectures 12 and 13. If this is the case, make sure to go and understand these lectures, and come back to these questions later. 1. The class RuntimeException has many subclasses. Why do they exist? Why don t we always throw a RuntimeException? 2. As we learned in class (if we were there), there are two types of exceptions: Checked Exceptions and Unchecked Exceptions. Any exception which is a subclass of Error or RuntimeException is unchecked. All other exceptions are considered checked. What are the two ways to keep the compiler happy if a method might throw a checked exception? 3. It might seem strange at first that exceptions that are subtypes of Exception or Error are treated differently, and are allowed to pass silently without being caught or specified. Why are these particular exceptions allowed to go unchecked? 4. The protected keyword specifies that a member can be accessed by other components of a package AND by subclasses. If we omit a keyword, a member is considered package protected, and may only be accessed by other package components (i.e. not by any subclasses). Why do you think the Java designers did this? 5. Suppose we have a class BundleOfDogs that stores objects of type Dog, which can be added using a put() method. Suppose that BundleOfDogs also has a method randomdoggenerator() that returns an object of type RandomDog. Suppose that the RandomDog class is implemented as a nested class (i.e. a class inside BundleOfDogs.java). Would it make more sense for RandomDog to be an inner class or a static class? CS 61B, Fall 2014, Discussion 5: Inheritance II 5

Rules and syntax for inheritance. The boring stuff

Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for

Prelim 1 Solutions. CS 2110, March 10, 2015, 5:30 PM Total Question True False. Loop Invariants Max Score Grader

Prelim 1 Solutions CS 2110, March 10, 2015, 5:30 PM 1 2 3 4 5 Total Question True False Short Answer Recursion Object Oriented Loop Invariants Max 20 15 20 25 20 100 Score Grader The exam is closed book

What can go wrong in a Java program while running?

Exception Handling See https://docs.oracle.com/javase/tutorial/ essential/exceptions/runtime.html See also other resources available on the module webpage This lecture Summary on polymorphism, multiple

CMSC 331 Second Midterm Exam

1 20/ 2 80/ 331 First Midterm Exam 11 November 2003 3 20/ 4 40/ 5 10/ CMSC 331 Second Midterm Exam 6 15/ 7 15/ Name: Student ID#: 200/ You will have seventy-five (75) minutes to complete this closed book

Administration. Exceptions. Leftovers. Agenda. When Things Go Wrong. Handling Errors. CS 99 Summer 2000 Michael Clarkson Lecture 11

Administration Exceptions CS 99 Summer 2000 Michael Clarkson Lecture 11 Lab 10 due tomorrow No lab tomorrow Work on final projects Remaining office hours Rick: today 2-3 Michael: Thursday 10-noon, Monday

Answer Key. 1. General Understanding (10 points) think before you decide.

Answer Key 1. General Understanding (10 points) Answer the following questions with yes or no. think before you decide. Read the questions carefully and (a) (2 points) Does the interface java.util.sortedset

CS159. Nathan Sprague

CS159 Nathan Sprague What s wrong with the following code? 1 /* ************************************************** 2 * Return the mean, or -1 if the array has length 0. 3 ***************************************************

Object-Oriented Design Lecture 8 CS 3500 Fall 2009 (Pucella) Tuesday, Oct 6, 2009 Subclassing for ADTs Implementation An interesting use of subclassing is to implement some forms of ADTs more cleanly,

PIC 20A Exceptions. Ernest Ryu UCLA Mathematics. Last edited: November 27, 2017

PIC 20A Exceptions Ernest Ryu UCLA Mathematics Last edited: November 27, 2017 Introductory example Imagine trying to read from a file. import java.io.*; public class Test { public static void main ( String

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

CS61B Lecture #11. Please report problems (missing files, malfunctions of submit, etc.) by , not by the newsgroup, for faster service.

CS61B Lecture #11 Please report problems (missing files, malfunctions of submit, etc.) by email, not by the newsgroup, for faster service. Midterm is 9 March at 6:30PM in 10 Evans. Last modified: Fri Feb

Programming II (CS300)

1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions

CISC-124. Passing Parameters. A Java method cannot change the value of any of the arguments passed to its parameters.

CISC-124 20180215 These notes are intended to summarize and clarify some of the topics that have been covered recently in class. The posted code samples also have extensive explanations of the material.

Midterm Exam CS 251, Intermediate Programming March 6, 2015

Midterm Exam CS 251, Intermediate Programming March 6, 2015 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible

More on Exception Handling

Chapter 18 More on Exception Handling Lecture slides for: Java Actually: A Comprehensive Primer in Programming Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cengage Learning, 2008. ISBN: 978-1-844480-933-2

CS61B Lecture #8. Last modified: Fri Sep 17 12:18: CS61B: Lecture #8 1

CS61B Lecture #8 Midterm tentatively scheduled for the evening of 19 October(Tuesday). Format: 2 hour, open-book. We will accommodate students with conflicts as needed; please arrange an alternative time

COMP 213. Advanced Object-oriented Programming. Lecture 17. Exceptions

COMP 213 Advanced Object-oriented Programming Lecture 17 Exceptions Errors Writing programs is not trivial. Most (large) programs that are written contain errors: in some way, the program doesn t do what

An Introduction to Subtyping

An Introduction to Subtyping Type systems are to me the most interesting aspect of modern programming languages. Subtyping is an important notion that is helpful for describing and reasoning about type

Pace University. Fundamental Concepts of CS121 1

Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

Java Programming Unit 7. Error Handling. Excep8ons.

Java Programming Unit 7 Error Handling. Excep8ons. Run8me errors An excep8on is an run- 8me error that may stop the execu8on of your program. For example: - someone deleted a file that a program usually

Prelim One Solution. CS211 Fall Name. NetID

Name NetID Prelim One Solution CS211 Fall 2005 Closed book; closed notes; no calculators. Write your name and netid above. Write your name clearly on each page of this exam. For partial credit, you must

Exception Handling. Sometimes when the computer tries to execute a statement something goes wrong:

Exception Handling Run-time errors The exception concept Throwing exceptions Handling exceptions Declaring exceptions Creating your own exception Ariel Shamir 1 Run-time Errors Sometimes when the computer

Exception Handling. Run-time Errors. Methods Failure. Sometimes when the computer tries to execute a statement something goes wrong:

Exception Handling Run-time errors The exception concept Throwing exceptions Handling exceptions Declaring exceptions Creating your own exception 22 November 2007 Ariel Shamir 1 Run-time Errors Sometimes

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Review 2: Object-Oriented Programming Christopher Simpkins chris.simpkins@gatech.edu CS 1331 (Georgia Tech) Review 2: Object-Oriented Programming 1 / 14 Topics

09/02/2013 TYPE CHECKING AND CASTING. Lecture 5 CS2110 Spring 2013

1 TYPE CHECKING AND CASTING Lecture 5 CS2110 Spring 2013 1 Type Checking 2 Java compiler checks to see if your code is legal Today: Explore how this works What is Java doing? Why What will Java do if it

09/08/2017 CS2530 INTERMEDIATE COMPUTING 9/8/2017 FALL 2017 MICHAEL J. HOLMES UNIVERSITY OF NORTHERN IOWA TODAY S TOPIC: Exceptions and enumerations.

CS2530 INTERMEDIATE COMPUTING 9/8/2017 FALL 2017 MICHAEL J. HOLMES UNIVERSITY OF NORTHERN IOWA TODAY S TOPIC: Exceptions and enumerations. 1 RUNTIME ERRORS All of us have experienced syntax errors. This

Chapter 15. Exception Handling. Chapter Goals. Error Handling. Error Handling. Throwing Exceptions. Throwing Exceptions

Chapter 15 Exception Handling Chapter Goals To learn how to throw exceptions To be able to design your own exception classes To understand the difference between checked and unchecked exceptions To learn

Java Review Outline. basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for

Java Review Outline basics exceptions variables arrays modulo operator if statements, booleans, comparisons loops: while and for Java basics write a simple program, e.g. hello world http://www2.hawaii.edu/~esb/2017fall.ics211/helloworl

Lab 5: Java IO 12:00 PM, Feb 21, 2018

CS18 Integrated Introduction to Computer Science Fisler, Nelson Contents Lab 5: Java IO 12:00 PM, Feb 21, 2018 1 The Java IO Library 1 2 Program Arguments 2 3 Readers, Writers, and Buffers 2 3.1 Buffering

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige

CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors

File IO. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 20

File IO Computer Science and Engineering College of Engineering The Ohio State University Lecture 20 I/O Package Overview Package java.io Core concept: streams Ordered sequences of data that have a source

An exception is simply an error. Instead of saying an error occurred, we say that an.

3-1 An exception is simply an error. Instead of saying an error occurred, we say that an. Suppose we have a chain of methods. The method is the first in the chain. An expression in it calls some other

Handout 4 Conditionals. Boolean Expressions.

Handout 4 cs180 - Programming Fundamentals Fall 17 Page 1 of 8 Handout 4 Conditionals. Boolean Expressions. Example Problem. Write a program that will calculate and print bills for the city power company.

Exceptions and Libraries

Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.

CS61B Lecture #11: Examples: Comparable & Reader

CS61B Lecture #11: Examples: Comparable & Reader Java library provides an interface to describe Objects that have a natural order on them, such as String, Integer, BigInteger and BigDecimal: public interface

CS/ENGRD 2110 FALL Lecture 7: Interfaces and Abstract Classes

CS/ENGRD 2110 FALL 2017 Lecture 7: Interfaces and Abstract Classes http://courses.cs.cornell.edu/cs2110 1 Announcements 2 A2 is due tomorrow night (17 February) Get started on A3 a method every other day.

Homework 6. Yuji Shimojo CMSC 330. Instructor: Prof. Reginald Y. Haseltine

Homework 6 Yuji Shimojo CMSC 330 Instructor: Prof. Reginald Y. Haseltine July 21, 2013 Question 1 What is the output of the following C++ program? #include #include using namespace

Midterm Exam CS 251, Intermediate Programming March 12, 2014

Midterm Exam CS 251, Intermediate Programming March 12, 2014 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible

Visibility, Static, and Exception Handling. June 19, 2017

Visibility, Static, and Exception Handling June 19, 2017 Reading Quiz What is Printed? System.out.print("A"); try { System.out.print("B"); // SomeExceptionType is thrown } except (SomeExceptionType e1)

Topics. Java arrays. Definition. Data Structures and Information Systems Part 1: Data Structures. Lecture 3: Arrays (1)

Topics Data Structures and Information Systems Part 1: Data Structures Michele Zito Lecture 3: Arrays (1) Data structure definition: arrays. Java arrays creation access Primitive types and reference types

Java and OOP. Part 5 More

Java and OOP Part 5 More 1 More OOP More OOP concepts beyond the introduction: constants this clone and equals inheritance exceptions reflection interfaces 2 Constants final is used for classes which cannot

Exceptions and Error Handling

Exceptions and Error Handling Michael Brockway January 16, 2015 Some causes of failures Incorrect implementation does not meet the specification. Inappropriate object request invalid index. Inconsistent

CS121/IS223. Object Reference Variables. Dr Olly Gotel

CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors CS121/IS223

Short Notes of CS201

#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

Page 1. Human-computer interaction. Lecture 1b: Design & Implementation. Building user interfaces. Mental & implementation models

Human-computer interaction Lecture 1b: Design & Implementation Human-computer interaction is a discipline concerned with the design, implementation, and evaluation of interactive systems for human use

Design Patterns: State, Bridge, Visitor

Design Patterns: State, Bridge, Visitor State We ve been talking about bad uses of case statements in programs. What is one example? Another way in which case statements are sometimes used is to implement

AP CS Unit 6: Inheritance Notes

AP CS Unit 6: Inheritance Notes Inheritance is an important feature of object-oriented languages. It allows the designer to create a new class based on another class. The new class inherits everything

CSci 4223 Lecture 12 March 4, 2013 Topics: Lexical scope, dynamic scope, closures

CSci 4223 Lecture 12 March 4, 2013 Topics: Lexical scope, dynamic scope, closures 1 Lexical Scope SML, and nearly all modern languages, follow the Rule of Lexical Scope: the body of a function is evaluated

The design of an ADT should evolve naturally during the problem-solving process Questions to ask when designing an ADT

Designing an ADT The design of an ADT should evolve naturally during the problem-solving process Questions to ask when designing an ADT What data does a problem require? What operations does a problem

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Lecture 30 April 4, 2018 I/O & Histogram Demo Chapters 28 HW7: Chat Server Announcements No penalty for late submission by tomorrow (which is a HARD deadline!)

Java Fundamentals (II)

Chair of Software Engineering Languages in Depth Series: Java Programming Prof. Dr. Bertrand Meyer Java Fundamentals (II) Marco Piccioni static imports Introduced in 5.0 Imported static members of a class

First IS-A Relationship: Inheritance

First IS-A Relationship: Inheritance The relationships among Java classes form class hierarchy. We can define new classes by inheriting commonly used states and behaviors from predefined classes. A class

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

Pages and 68 in [JN] conventions for using exceptions in Java. Chapter 8 in [EJ] guidelines for more effective use of exceptions.

CS511, HANDOUT 12, 7 February 2007 Exceptions READING: Chapter 4 in [PDJ] rationale for exceptions in general. Pages 56-63 and 68 in [JN] conventions for using exceptions in Java. Chapter 8 in [EJ] guidelines

Lecture 19 Programming Exceptions CSE11 Fall 2013

Lecture 19 Programming Exceptions CSE11 Fall 2013 When Things go Wrong We've seen a number of run time errors Array Index out of Bounds e.g., Exception in thread "main" java.lang.arrayindexoutofboundsexception:

CS 251 Intermediate Programming Methods and More

CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017

CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017 Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a) T F : An interface defines the list of fields

MP 3 A Lexer for MiniJava

MP 3 A Lexer for MiniJava CS 421 Spring 2010 Revision 1.0 Assigned Tuesday, February 2, 2010 Due Monday, February 8, at 10:00pm Extension 48 hours (20% penalty) Total points 50 (+5 extra credit) 1 Change

ECE 122 Engineering Problem Solving with Java

ECE 122 Engineering Problem Solving with Java Introduction to Programming for ECE Lecture 1 Course Overview Welcome! What is this class about? Java programming somewhat software somewhat Solving engineering

Software Development (cs2500)

Software Development (cs2500) Lecture 31: Abstract Classes and Methods M.R.C. van Dongen January 12, 2011 Contents 1 Outline 1 2 Abstract Classes 1 3 Abstract Methods 3 4 The Object Class 4 4.1 Overriding

Java Bytecode (binary file)

Java is Compiled Unlike Python, which is an interpreted langauge, Java code is compiled. In Java, a compiler reads in a Java source file (the code that we write), and it translates that code into bytecode.

Getting started with Java

Getting started with Java Magic Lines public class MagicLines { public static void main(string[] args) { } } Comments Comments are lines in your code that get ignored during execution. Good for leaving

ITI Introduction to Computing II

ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of February 23, 2013 Abstract Handling errors Declaring, creating and handling exceptions

Some Patterns for CS1 Students

Some Patterns for CS1 Students Berna L. Massingill Abstract Students in beginning programming courses struggle with many aspects of programming. This paper outlines some patterns intended to be useful

Lab 2: Object-Oriented Design 12:00 PM, Jan 31, 2018

CS18 Integrated Introduction to Computer Science Fisler, Nelson Contents Lab 2: Object-Oriented Design 12:00 PM, Jan 31, 2018 1 Terminology 1 2 Class Hierarchy Diagrams 2 2.1 An Example: Animals...................................

Chapter 14 Abstract Classes and Interfaces

Chapter 14 Abstract Classes and Interfaces 1 What is abstract class? Abstract class is just like other class, but it marks with abstract keyword. In abstract class, methods that we want to be overridden

Comp215: Thinking Generically

Comp215: Thinking Generically Dan S. Wallach (Rice University) Copyright 2015, Dan S. Wallach. All rights reserved. Functional APIs On Wednesday, we built a list of Objects. This works. But it sucks. class

FORM 2 (Please put your name and form # on the scantron!!!!) CS 161 Exam II:

FORM 2 (Please put your name and form # on the scantron!!!!) CS 161 Exam II: True (A)/False(B) (2 pts each): 1. The declaration below declares three pointer variables of type pointer to double that is

Prelim 1. CS 2110, September 29, 2016, 7:30 PM Total Question Name Loop invariants

Prelim 1 CS 2110, September 29, 2016, 7:30 PM 0 1 2 3 4 5 Total Question Name Loop invariants Recursion OO Short answer Exception handling Max 1 15 15 25 34 10 100 Score Grader The exam is closed book

Types, Values and Variables (Chapter 4, JLS)

Lecture Notes CS 141 Winter 2005 Craig A. Rich Types, Values and Variables (Chapter 4, JLS) Primitive Types Values Representation boolean {false, true} 1-bit (possibly padded to 1 byte) Numeric Types Integral

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines

Object typing and subtypes

CS 242 2012 Object typing and subtypes Reading Chapter 10, section 10.2.3 Chapter 11, sections 11.3.2 and 11.7 Chapter 12, section 12.4 Chapter 13, section 13.3 Subtyping and Inheritance Interface The

AP CS Unit 7: Interfaces. Programs

AP CS Unit 7: Interfaces. Programs You cannot use the less than () operators with objects; it won t compile because it doesn t always make sense to say that one object is less than

CS 1331 Exam 1 ANSWER KEY

CS 1331 Exam 1 Fall 2016 ANSWER KEY Failure to properly fill in the information on this page will result in a deduction of up to 5 points from your exam score. Signing signifies you are aware of and in

CS112 Lecture: Exceptions and Assertions

Objectives: CS112 Lecture: Exceptions and Assertions 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions 3. Introduce assertions Materials: 1. Online Java documentation

CSC207H: Software Design. Exceptions. CSC207 Winter 2018

Exceptions CSC207 Winter 2018 1 What are exceptions? Exceptions represent exceptional conditions: unusual, strange, disturbing. These conditions deserve exceptional treatment: not the usual go-tothe-next-step,

Lecture 5: Methods CS2301

Lecture 5: Methods NADA ALZAHRANI CS2301 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. 2 Solution public static int sum(int i1, int i2) { int

CS152: Programming Languages. Lecture 7 Lambda Calculus. Dan Grossman Spring 2011

CS152: Programming Languages Lecture 7 Lambda Calculus Dan Grossman Spring 2011 Where we are Done: Syntax, semantics, and equivalence For a language with little more than loops and global variables Now:

Preconditions. CMSC 330: Organization of Programming Languages. Signaling Errors. Dealing with Errors

Preconditions Functions often have requirements on their inputs // Return maximum element in A[i..j] int findmax(int[] A, int i, int j) {... A is nonempty Aisn't null iand j must be nonnegative iand j

CONSTRUCTOR & Description. String() This initializes a newly created String object so that it represents an empty character sequence.

Constructor in Java 1. What are CONSTRUCTORs? Constructor in java is a special type of method that is used to initialize the object. Java constructor is invoked at the time of object creation. It constructs

CS159. Nathan Sprague

CS159 Nathan Sprague What s wrong with the following code? 1 /* ************************************************** 2 * Return the maximum, or Integer. MIN_VALUE 3 * if the array has length 0. 4 ***************************************************

CS18000: Programming I

CS18000: Programming I Data Abstraction January 25, 2010 Prof. Chris Clifton Announcements Book is available (Draft 2.0) Syllabus updated with readings corresponding to new edition Lab consulting hours

PIC 20A The Basics of Java

PIC 20A The Basics of Java Ernest Ryu UCLA Mathematics Last edited: November 1, 2017 Outline Variables Control structures classes Compilation final and static modifiers Arrays Examples: String, Math, and

CS Programming I: Inheritance

CS 200 - Programming I: Inheritance Marc Renault Department of Computer Sciences University of Wisconsin Madison Fall 2017 TopHat Sec 3 (PM) Join Code: 719946 TopHat Sec 4 (AM) Join Code: 891624 Inheritance

CS 220: Introduction to Parallel Computing. Arrays. Lecture 4

CS 220: Introduction to Parallel Computing Arrays Lecture 4 Note: Windows I updated the VM image on the website It now includes: Sublime text Gitkraken (a nice git GUI) And the git command line tools 1/30/18

CS1092: Tutorial Sheet: No 3 Exceptions and Files. Tutor s Guide

CS1092: Tutorial Sheet: No 3 Exceptions and Files Tutor s Guide Preliminary This tutorial sheet requires that you ve read Chapter 15 on Exceptions (CS1081 lectured material), and followed the recent CS1092

Introduction to Object-Oriented Programming

Polymorphism 1 / 19 Introduction to Object-Oriented Programming Today we ll learn how to combine all the elements of object-oriented programming in the design of a program that handles a company payroll.

CS61B Lecture #11: Examples: Comparable & Reader

CS61B Lecture #11: Examples: Comparable & Reader Java library provides an interface to describe Objects that have a natural order on them, such as String, Integer, BigInteger and BigDecimal: public interface

Java Strings Java, winter semester

Java Strings 1 String instances of java.lang.string compiler works with them almost with primitive types String constants = instances of the String class immutable!!! for changes clases StringBuffer, StringBuilder

Tutorial 8 Date: 15/04/2014

Tutorial 8 Date: 15/04/2014 1. What is wrong with the following interface? public interface SomethingIsWrong void amethod(int avalue) System.out.println("Hi Mom"); 2. Fix the interface in Question 2. 3.

Good Luck! CSC207, Fall 2012: Quiz 1 Duration 25 minutes Aids allowed: none. Student Number:

CSC207, Fall 2012: Quiz 1 Duration 25 minutes Aids allowed: none Student Number: Last Name: Lecture Section: L0101 First Name: Instructor: Horton Please fill out the identification section above as well

Java Exceptions Java, winter semester

Java Exceptions 1 Exceptions errors reporting and handling an exception represents an error state of a program exception = an instance of java.lang.throwable two subclasses java.lang.error and java.lang.exception

Prelim 1. CS 2110, March 15, 2016, 5:30 PM Total Question Name True False. Short Answer

Prelim 1 CS 2110, March 15, 2016, 5:30 PM 0 1 2 3 4 5 Total Question Name True False Short Answer Object- Oriented Recursion Loop Invariants Max 1 20 14 25 19 21 100 Score Grader The exam is closed book

QUIZ. What are 3 differences between C and C++ const variables?

QUIZ What are 3 differences between C and C++ const variables? Solution QUIZ Source: http://stackoverflow.com/questions/17349387/scope-of-macros-in-c Solution The C/C++ preprocessor substitutes mechanically,

PIC 20A Number, Autoboxing, and Unboxing

PIC 20A Number, Autoboxing, and Unboxing Ernest Ryu UCLA Mathematics Last edited: October 27, 2017 Illustrative example Consider the function that can take in any object. public static void printclassandobj

Course Status Polymorphism Containers Exceptions Midterm Review. CS Java. Introduction to Java. Andy Mroczkowski

CS 190 - Java Introduction to Java Andy Mroczkowski uamroczk@cs.drexel.edu Department of Computer Science Drexel University February 11, 2008 / Lecture 4 Outline Course Status Course Information & Schedule

Object Oriented Programming

Object Oriented Programming Java lecture (10.1) Exception Handling 1 Outline Exception Handling Mechanisms Exception handling fundamentals Exception Types Uncaught exceptions Try and catch Multiple catch