Chapter 4 by 7vg4m5Lb

VIEWS: 0 PAGES: 51

									Java Programming, 3e
             Concepts and Techniques




    Chapter 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



Chapter 4: Decision Making and Repetition with Reusable Objects   2
    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


Chapter 4: Decision Making and Repetition with Reusable Objects   3
    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




Chapter 4: Decision Making and Repetition with Reusable Objects   4
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   5
    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
Chapter 4: Decision Making and Repetition with Reusable Objects         6
Chapter 4: Decision Making and Repetition with Reusable Objects   7
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   8
Chapter 4: Decision Making and Repetition with Reusable Objects   9
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   10
    Coding the Program




Chapter 4: Decision Making and Repetition with Reusable Objects   11
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   12
Chapter 4: Decision Making and Repetition with Reusable Objects   13
    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


Chapter 4: Decision Making and Repetition with Reusable Objects   14
Chapter 4: Decision Making and Repetition with Reusable Objects   15
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   16
    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

Chapter 4: Decision Making and Repetition with Reusable Objects       17
    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


Chapter 4: Decision Making and Repetition with Reusable Objects          18
Chapter 4: Decision Making and Repetition with Reusable Objects   19
Chapter 4: Decision Making and Repetition with Reusable Objects   20
     Catch an exception




     Throw an exception




Chapter 4: Decision Making and Repetition with Reusable Objects   21
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   22
    Repetition Structure




Chapter 4: Decision Making and Repetition with Reusable Objects   23
    The getSales() method




Chapter 4: Decision Making and Repetition with Reusable Objects   24
    The getCode() method




Chapter 4: Decision Making and Repetition with Reusable Objects   25
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   26
Chapter 4: Decision Making and Repetition with Reusable Objects   27
    The getComm() Method




Chapter 4: Decision Making and Repetition with Reusable Objects   28
    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
Chapter 4: Decision Making and Repetition with Reusable Objects   29
    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




Chapter 4: Decision Making and Repetition with Reusable Objects      30
Chapter 4: Decision Making and Repetition with Reusable Objects   31
    The output() method




Chapter 4: Decision Making and Repetition with Reusable Objects   32
    The finish() method
    Exits system when program completes successfully




Chapter 4: Decision Making and Repetition with Reusable Objects   33
    Moving to the Web
    • Create the host document to execute the applet




Chapter 4: Decision Making and Repetition with Reusable Objects   34
    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

Chapter 4: Decision Making and Repetition with Reusable Objects   35
Chapter 4: Decision Making and Repetition with Reusable Objects   36
    Making Decisions in Applets
    • Use a CheckboxGroup to allow user choices




Chapter 4: Decision Making and Repetition with Reusable Objects   37
    Constructing Applet Components
    • Construct Labels for input and output
    • Construct a CheckboxGroup for user options




Chapter 4: Decision Making and Repetition with Reusable Objects   38
    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
Chapter 4: Decision Making and Repetition with Reusable Objects   39
    The init() Method




Chapter 4: Decision Making and Repetition with Reusable Objects   40
    Handling Exceptions
    • Check for valid data when the itemStateChanged()
      method is triggered, which happens when the user clicks
      an option button




Chapter 4: Decision Making and Repetition with Reusable Objects   41
    The getSales() Method
    • Parse the data from the TextField and return a valid
      sales amount or throw an exception to the init() method




Chapter 4: Decision Making and Repetition with Reusable Objects   42
    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()




Chapter 4: Decision Making and Repetition with Reusable Objects   43
    The getComm() Method
    • Identical to the application
    • Return the commission value to init()




Chapter 4: Decision Making and Repetition with Reusable Objects   44
    The output() Method
    • Send output to the Label using setText()
    • Construct and use DecimalFormat, using the special
      character # to make a leading zero absent




Chapter 4: Decision Making and Repetition with Reusable Objects   45
    The paint() Method
    • Display a graphic




Chapter 4: Decision Making and Repetition with Reusable Objects   46
    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


Chapter 4: Decision Making and Repetition with Reusable Objects   47
    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



Chapter 4: Decision Making and Repetition with Reusable Objects   48
    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


Chapter 4: Decision Making and Repetition with Reusable Objects   49
    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




Chapter 4: Decision Making and Repetition with Reusable Objects   50
Java Programming, 3e
           Concepts and Techniques




Chapter 4 Complete

								
To top