Reviewing for Exam Lecture 1?
Lab 1 Postfix.java Questions? Hexadecimal System.exit(3); Converting ‘a’ to number Converting ‘1’ to number System.exit(3); Questions?
Lecture 1 Test cases for programs Documentation Echo of input Inline comments Ending message Javadocs
Lab 2 PseudoWar game Required Test cases Stubs Program Constructors Specific methods Generation of number in range 1 to 52
Lab 3 Exception Handlers Avoiding Try Catch printStackTrace() getMessage() Multiple handlers Avoiding
Lecture 3 Style guidelines Chapter12 slides
Lab 4 Writing code from scratch Illustrating use of exception handlers Illustrating avoidance of exceptions Java Tutorial Java api
ArithmeticException ArrayIndexOutOfBoundsException FileNotFoundException PatternSyntaxException ClassNotFoundException InputMisMatchException NullPointerException NumberFormatException StringIndexOutOfBoundsException NegativeArraySizeException ArrayStoreException MalformedURLException IOException IllegalArgumentException ClassCastExceptionIllegal FormatConversionException
Lecture 4 Common Exceptions Reading from Files Compile time errors That can be avoided That can not be avoided Reading from Files Compile time errors Runtime errors
Lab 5 File I/O Use of command line arguments Use of re-direct symbols PrintWriter (flush) File java.io package Use of command line arguments Use of re-direct symbols
Lecture 5 Play with text examples Use of StringTokenizer Use of delimiters Use of regular expressions Correct use of Boolean in if and while statements How comments help
Lab 6 Enumerated types Enhanced for loop (i.e. for… each)
Lecture 6 public enum Sessions { SPRING, SUMMER, FALL ; }
public enum Planet { MERCURY (3.303e+23, 2.4397e6), VENUS (4.869e+24, 6.0518e6), EARTH (5.976e+24, 6.37814e6), MARS (6.421e+23, 3.3972e6), JUPITER (1.9e+27, 7.1492e7), SATURN (5.688e+26, 6.0268e7), URANUS (8.686e+25, 2.5559e7), NEPTUNE (1.024e+26, 2.4746e7); … for (Planet p : Planet.values()) System.out.printf ("Your weight on %s is %f%n", p, p.surfaceWeight(mass));
Lab 7 Enumerated types again Order Valid elements Attributes Rank Suit Card Deck (?) Order Valid elements Attributes
Example for-each for (Rank r : Rank.values()) { System.out.println r.getBridgePoints() + " " + r.getAbbreviation() ); } // end for
Lecture 7 Chapter 9 – Chapter_9_Part1.ppt slides ClearJunk.java
Lab 8 Classes toString methods equals methods static fields when needed how used static fields
Lecture 8 A few things Chapter 9 – rest of slides
Lab 9 UML diagram Die objects getFaceValue setFaceValue toString Roll Math.random vs Random
Lecture 9 Talk about constructors belongs to class do not have a visibility modifier same name as class may have no parameters (no-arg constructor) may have one or more parameters (explicit value constructor) class may have no explicit constructor class may have more than one constructor doesn't return values
Lab 10 Code re-use Array of objects Explicit value constructors No-arg constructors Reading carefully
Lecture 10 Professor Harris lecture – see blackboard
Lab 11 Designing classes DISCUSSION Getters and setters are, in general, public methods. Since Fraction is immutable, shouldn’t have them. Fraction is 4/20 not .20 Numerator and denominator are ints
Lecture 11 Somewhat of a repetition of lecture 10
Lab 12 Inheritance Employee SalariedWorker HourlyWorker
Lecture 12
Lab 13 Specialization and Inheritance DISCUSSION Needed to look at javadocs Can’t compare one ampm to another using == because they are Strings – need .equals An AlarmClock is-a Clock (a Clock is NOT an AlarmClock).