Your SlideShare is downloading. ×
Chapter 04
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chapter 04

886
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
886
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Java Programming, 3e Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects
  • 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. 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. 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. 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. 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. 7Chapter 4: Decision Making and Repetition with Reusable Objects
  • 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. 9Chapter 4: Decision Making and Repetition with Reusable Objects
  • 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. 11Chapter 4: Decision Making and Repetition with Reusable Objects Coding the Program
  • 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. 13Chapter 4: Decision Making and Repetition with Reusable Objects
  • 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. 15Chapter 4: Decision Making and Repetition with Reusable Objects
  • 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. 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. 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. 19Chapter 4: Decision Making and Repetition with Reusable Objects
  • 20. 20Chapter 4: Decision Making and Repetition with Reusable Objects
  • 21. 21Chapter 4: Decision Making and Repetition with Reusable Objects Catch an exception Throw an exception
  • 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. 23Chapter 4: Decision Making and Repetition with Reusable Objects Repetition Structure
  • 24. 24Chapter 4: Decision Making and Repetition with Reusable Objects The getSales() method
  • 25. 25Chapter 4: Decision Making and Repetition with Reusable Objects The getCode() method
  • 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. 27Chapter 4: Decision Making and Repetition with Reusable Objects
  • 28. 28Chapter 4: Decision Making and Repetition with Reusable Objects The getComm() Method
  • 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. 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. 31Chapter 4: Decision Making and Repetition with Reusable Objects
  • 32. 32Chapter 4: Decision Making and Repetition with Reusable Objects The output() method
  • 33. 33Chapter 4: Decision Making and Repetition with Reusable Objects The finish() method Exits system when program completes successfully
  • 34. 34Chapter 4: Decision Making and Repetition with Reusable Objects Moving to the Web • Create the host document to execute the applet
  • 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. 36Chapter 4: Decision Making and Repetition with Reusable Objects
  • 37. 37Chapter 4: Decision Making and Repetition with Reusable Objects Making Decisions in Applets • Use a CheckboxGroup to allow user choices
  • 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. 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. 40Chapter 4: Decision Making and Repetition with Reusable Objects The init() Method
  • 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. 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. 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. 44Chapter 4: Decision Making and Repetition with Reusable Objects The getComm() Method • Identical to the application • Return the commission value to init()
  • 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. 46Chapter 4: Decision Making and Repetition with Reusable Objects The paint() Method • Display a graphic
  • 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. 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. 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. 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. Java Programming, 3e Concepts and Techniques Chapter 4 Complete