Reviewing for Exam

advertisement
Reviewing for Exam
Lecture 12
Lab 1
• Postfix.java
– Hexadecimal
• 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
– Test cases
– Stubs
– Program
• Required
– Constructors
– Specific methods
– Generation of number in range 1 to 52
Lab 3
• Exception
– Handlers
• 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
– That can be avoided
– That can not be avoided
• Reading from Files
• Compile time errors
• Runtime errors
Lab 5
• File I/O
– 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
–
–
–
–
Rank
Suit
Card
Deck (?)
• Order
• Valid elements
• Attributes
Example for-each
for (Rank r : Rank.values())
{
System.out.println
( r + " " +
r.getBridgePoints() + " " +
r.getAbbreviation() );
} // end for
Lecture 7
• Chapter 9 –
• Chapter_9_Part1.ppt slides
• ClearJunk.java
Lab 8
• Classes
– toString methods
– equals methods
• 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
• Review
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).
Download