Chapter 04

1,157 views

Published on

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,157
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Chapter 04

  1. 1. Java Programming, 3e Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects
  2. 2. 2Chapter 4: Decision Making and Repetition with Reusable Objects Chapter Objectives • Design a program using methods • Code a selection structure to make decisions in code • Describe the use of the logical AND, OR, and NOT operators • Define exceptions and exception handling
  3. 3. 3Chapter 4: Decision Making and Repetition with Reusable Objects Chapter Objectives • Code a try statement and a catch statement to handle exceptions • Create a user-defined method • Code a repetition structure using the while statement • Write a switch statement to test for multiple values in data
  4. 4. 4Chapter 4: Decision Making and Repetition with Reusable Objects Chapter Objectives • Format numbers using a pattern and the format() method • Construct a Color object • Use a Checkbox and a CheckboxGroup in the user interface
  5. 5. 5Chapter 4: Decision Making and Repetition with Reusable Objects Introduction • Control structures alter the sequential execution of code – Selection structure – Repetition structure • User-defined methods break tasks into reusable sections of code • Exception handling in Java allows for the testing of valid and accurate input
  6. 6. 6Chapter 4: Decision Making and Repetition with Reusable Objects The Sales Commission Program • Calculate sales commission for agents in a travel agency • Coded as a console application and an applet • Input – The user chooses from three types of commission codes • The commission code identifies the type of sale and the commission rate – The user enters a sales amount • Calculate commission and display output
  7. 7. 7Chapter 4: Decision Making and Repetition with Reusable Objects
  8. 8. 8Chapter 4: Decision Making and Repetition with Reusable Objects Program Development • Problem analysis – Each user decision corresponds to a program task – Develop and test each task before adding it to the program • Design the solution – Design storyboards for the two user interfaces • Program design – Design a flowchart consisting of required methods – Write related pseudocode for each method • Validate Design
  9. 9. 9Chapter 4: Decision Making and Repetition with Reusable Objects
  10. 10. 10Chapter 4: Decision Making and Repetition with Reusable Objects Coding the Program • Code the program using program stubs – Stubs are incomplete portions of code that serve as a template or placeholder for later code – Stubs allow ease in debugging through incremental compilation and testing • Import java.swing.JOptionPane • Import java.text.DecimalFormat – Formats decimal output into Strings • Declare variables • Compile and test the program stub
  11. 11. 11Chapter 4: Decision Making and Repetition with Reusable Objects Coding the Program
  12. 12. 12Chapter 4: Decision Making and Repetition with Reusable Objects Writing Methods • A program with modules allows for clarity, reusability, and refinement • The code for each module can be separated into programmer-defined methods • The main() method transfers execution to the methods through a call statement • The called method returns control to its caller with the return statement or the ending brace – The return statement returns any required data back to the calling method
  13. 13. 13Chapter 4: Decision Making and Repetition with Reusable Objects
  14. 14. 14Chapter 4: Decision Making and Repetition with Reusable Objects The if…else Statement • Single: line 30, line 31 • Block: lines 15-27, lines 19-20, lines 24-25 • Nested: lines 17-26, lines 30-31
  15. 15. 15Chapter 4: Decision Making and Repetition with Reusable Objects
  16. 16. 16Chapter 4: Decision Making and Repetition with Reusable Objects Testing with an if statement • Testing a single condition – if (answer == null) – if (!done) • Testing multiple conditions – if ((gender == “male”) && (age >= 18)) – if ((age < 13) || (age > 65)) – AND and OR expressions evaluate the right operand only if the left operand is not sufficient to decide the condition
  17. 17. 17Chapter 4: Decision Making and Repetition with Reusable Objects Exception Handling • An exception is an event resulting from an erroneous situation which disrupts normal program flow • Exception handling is the concept of planning for possible exceptions by directing the program to deal with them gracefully, without terminating • Three kinds of exceptions – I/O – Run-time – Checked • The compiler checks each method to ensure each method has a handler
  18. 18. 18Chapter 4: Decision Making and Repetition with Reusable Objects Handling Exceptions • The try statement identifies a block of statements that may potentially throw an exception • The throw statement transfers execution from the method that caused the exception to the handler – Transfers execution to the catch statement if the throw is placed within a try statement • The catch statement identifies the type of exception being caught and statements to describe or fix the error • The finally statement is optional and is always executed regardless of whether an exception has taken place – Placed after the catch statement
  19. 19. 19Chapter 4: Decision Making and Repetition with Reusable Objects
  20. 20. 20Chapter 4: Decision Making and Repetition with Reusable Objects
  21. 21. 21Chapter 4: Decision Making and Repetition with Reusable Objects Catch an exception Throw an exception
  22. 22. 22Chapter 4: Decision Making and Repetition with Reusable Objects Throwing an Exception • Compile the program after coding each method and call statement • Run the program with correct input • Run the program to test the exception handling with invalid input – Alphabetic data – Negative values – Null or zero values • Verify that the user is allowed to reenter data • Verify the program closes correctly
  23. 23. 23Chapter 4: Decision Making and Repetition with Reusable Objects Repetition Structure
  24. 24. 24Chapter 4: Decision Making and Repetition with Reusable Objects The getSales() method
  25. 25. 25Chapter 4: Decision Making and Repetition with Reusable Objects The getCode() method
  26. 26. 26Chapter 4: Decision Making and Repetition with Reusable Objects The Case Structure • A type of selection structure that allows for more than two choices when the condition is evaluated • Used when there are many possible, valid choices for user input • The code evaluates the user choice with a switch statement and looks for a match in each case statement • Each case statement contains a ending break statement which forces exit of the structure
  27. 27. 27Chapter 4: Decision Making and Repetition with Reusable Objects
  28. 28. 28Chapter 4: Decision Making and Repetition with Reusable Objects The getComm() Method
  29. 29. 29Chapter 4: Decision Making and Repetition with Reusable Objects Arguments and Parameters • When a method is called, the calling method sends arguments; the called method accepts the values as parameters • Different but related identifier names for the arguments and the parameters should be used for good program design – The variables are only visible in their respective methods • Arguments and parameters for a called method and the calling statement must be of the same number, order, and data type
  30. 30. 30Chapter 4: Decision Making and Repetition with Reusable Objects Formatting Numeric Output • The DecimalFormat class formats decimal numbers into Strings for output • Supports different locales, leading and trailing zeros, prefixes/suffixes, and separators • The argument is a pattern, which determines how the formatted number should be displayed
  31. 31. 31Chapter 4: Decision Making and Repetition with Reusable Objects
  32. 32. 32Chapter 4: Decision Making and Repetition with Reusable Objects The output() method
  33. 33. 33Chapter 4: Decision Making and Repetition with Reusable Objects The finish() method Exits system when program completes successfully
  34. 34. 34Chapter 4: Decision Making and Repetition with Reusable Objects Moving to the Web • Create the host document to execute the applet
  35. 35. 35Chapter 4: Decision Making and Repetition with Reusable Objects Coding an Applet Stub • Enter general block comments • Import java.awt.*, java.applet.*, java.awt.event.*, and java.text.DecimalFormat • Implement the ItemListener interface to listen for the user choice on a Checkbox • Code the method headers for the init() and the itemStateChanged() method – itemStateChanged() is an ItemListener method to process user choices • Declare variables and construct a Color object
  36. 36. 36Chapter 4: Decision Making and Repetition with Reusable Objects
  37. 37. 37Chapter 4: Decision Making and Repetition with Reusable Objects Making Decisions in Applets • Use a CheckboxGroup to allow user choices
  38. 38. 38Chapter 4: Decision Making and Repetition with Reusable Objects Constructing Applet Components • Construct Labels for input and output • Construct a CheckboxGroup for user options
  39. 39. 39Chapter 4: Decision Making and Repetition with Reusable Objects Constructing Applet Components • Add Labels and CheckboxGroup to the applet • Add an ItemListener to each Checkbox component with the addItemListener() method • Add color with the setForeground() and the setBackground() methods • Set the insertion point with the requestFocus() method
  40. 40. 40Chapter 4: Decision Making and Repetition with Reusable Objects The init() Method
  41. 41. 41Chapter 4: Decision Making and Repetition with Reusable Objects Handling Exceptions • Check for valid data when the itemStateChanged() method is triggered, which happens when the user clicks an option button
  42. 42. 42Chapter 4: Decision Making and Repetition with Reusable Objects The getSales() Method • Parse the data from the TextField and return a valid sales amount or throw an exception to the init() method
  43. 43. 43Chapter 4: Decision Making and Repetition with Reusable Objects The getCode() Method • Initialize the code to 0 • Use nested if statements to assess the boolean state of the Checkboxes and return the code to init()
  44. 44. 44Chapter 4: Decision Making and Repetition with Reusable Objects The getComm() Method • Identical to the application • Return the commission value to init()
  45. 45. 45Chapter 4: Decision Making and Repetition with Reusable Objects The output() Method • Send output to the Label using setText() • Construct and use DecimalFormat, using the special character # to make a leading zero absent
  46. 46. 46Chapter 4: Decision Making and Repetition with Reusable Objects The paint() Method • Display a graphic
  47. 47. 47Chapter 4: Decision Making and Repetition with Reusable Objects Compiling and Testing the Applet • Compile the applet • Execute the applet using AppletViewer • Test exception handling by clicking an option button and then typing invalid data into the text box • Verify the error message and the data clearing mechanisms • Test all options with valid data • Test in a browser window • Document the applet interface and source code
  48. 48. 48Chapter 4: Decision Making and Repetition with Reusable Objects Chapter Summary • Design a program using methods • Code a selection structure to make decisions in code • Describe the use of the logical AND, OR, and NOT operators • Define exceptions and exception handling
  49. 49. 49Chapter 4: Decision Making and Repetition with Reusable Objects Chapter Summary • Code a try statement and a catch statement to handle exceptions • Create a user-defined method • Code a repetition structure using the while statement • Write a switch statement to test for multiple values in data
  50. 50. 50Chapter 4: Decision Making and Repetition with Reusable Objects Chapter Summary • Format numbers using a pattern and the format() method • Construct a Color object • Use a Checkbox and a CheckboxGroup in the user interface
  51. 51. Java Programming, 3e Concepts and Techniques Chapter 4 Complete

×