meljun cortes java numerical data types and expressions

Upload: meljun-cortes-mbampa

Post on 04-Jun-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    1/64

    MELJUN CORTES MBA MPA BSCS ACS

    Chapter 3-

    JAVA Numerical Expression

    Numerical

    Data

    MELJUN CORTES

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    2/64

    MELJUN CORTES

    MELJUN CORTES MBA MPA BSCS ACS

    Chapter 3 Objectives

    After you have read and studied this

    chapter, you should be able to

    Select proper types for numerical data.

    Write arithmetic expressions in Java.

    Evaluate arithmetic expressions, using theprecedence rules.

    Describe how the memory allocationworks for objects and primitive datavalues.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    3/64

    MELJUN CORTES MBA MPA BSCS ACS

    Chapter 3 Objectives, cont.

    After you have read and studied this

    chapter, you should be able to

    Write mathematical expressions, using

    methods in the Mathclass.

    Use the GregorianCalendarclass in

    manipulating date information such as year,

    month, and day.

    Use the DecimalFormat class to format

    numerical data.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    4/64

    MELJUN CORTES MBA MPA BSCS ACS

    Chapter 3 Objectives, cont.

    After you have read and studied this

    chapter, you should be able to Convert input string values to numerical

    data.

    Apply the incremental developmenttechnique in writing programs.

    (Optional) Describe how integers and real

    numbers are represented in memory.

    Input data by using System.inand outputdata using System.out.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    5/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    To compute the sum and the differenceof xand yin a program, we must first

    declare what kind of data will be

    assigned to them.

    After we assign values to them, we can

    compute their sum and difference.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    6/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    When a declaration, such as

    int x, y;

    is made, memory locations to store datavalues for xand yare allocated.

    These memory locations are calledvariables, and xand yare the names

    we associate with the memorylocations.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    7/64MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    A variable has three properties:

    A memory location to store the value.

    The type of data stored in the memory

    location.

    The name used to refer to the memory

    location.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    8/64MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    The syntax for declaring variables is

    ;

    where is a sequence of

    identifiers separated by commas.

    Every variable we use in a program

    must be declared.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    9/64MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    There are six numerical data types in

    Java: byte

    short

    int

    long

    float

    double

    Data types byte, short, int, and longare for integers.

    Floatand doubleare for real numbers.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    10/64MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    At the time a variable is declared, it can

    also be initialized.

    int count = 10, height = 34;

    We assign a value to a variable byusing an assignment statement.

    Do not confuse mathematical equalityand assignment. The following is not

    valid Java code:

    4 + 5 = x;

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    11/64MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    The only difference between a variable

    for numbers and a variable for objects

    is the contents in the memory

    locations.

    For numbers, a variable contains thenumerical value itself.

    For objects, a variable contains an

    address where the object is stored.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    12/64MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.1

    A diagram showing how two memory

    locations (variables) are declared, and

    values are assigned to them.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    13/64MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.2

    A difference between object declaration

    and numerical data declaration.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    14/64MELJUN CORTES MBA MPA BSCS ACS

    3.1 Variables

    We use the newcommand to create an

    object.

    Objects are called reference data types,

    because the contents are addressesthat refer to memory locations where

    the objects are actually stored.

    Numerical data are calledprimitive data

    types.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    15/64MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.3

    An effect of assigning the content of one

    variable to another.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    16/64MELJUN CORTES MBA MPA BSCS ACS

    3.2 Arithmetic Expressions

    Arithmetic operators in Java

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    17/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.2 Arithmetic Expressions

    An illustration of a subexpression in the

    expression x + 3 * y

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    18/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.2 Arithmetic Expressions

    Precedence rules for arithmetic

    operators and parentheses

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    19/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.2 Arithmetic Expressions

    Rules for arithmetic promotion

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    20/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.3 Constants

    If we want a variable to remain fixed, we

    use a constant.

    A constant is declared in a manner similar

    to a variable, but with the additionalreserved word final.

    final double PI = 3.14159;final int MONTHS_IN_YEAR = 12;

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    21/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.3 Constants

    If a literal constant contains a decimal

    point, it is of type doubleby default.

    To designate a literal constant of type

    float, append a letter f or F to thenumber:

    2 * PI * 345.79F

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    22/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.3 Constants

    Numbers in scientific notation, such as

    Number x 10exponent

    are expressed in Java using the syntax

    E

    12.40e+209

    29.009E-102

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    23/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.4 Getting Numerical Input Values

    Wrapper classesare used to perform

    necessary type conversions, such asconverting a String object to a

    numerical value.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    24/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.4 Getting Numerical Input Values

    /*

    Chapter 3 Sample Program: Compute Area andCircumference

    File: Ch3Circle.java

    */

    import javax.swing.*;

    import java.text.*;

    class Ch3Circle {

    public static void main( String [] args ) {

    final double PI = 3.14159;

    String radiusStr;

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    25/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.4 Getting Numerical Input Values

    double radius, area, circumference;

    radiusStr =JOptionPane.showInputDialog(null, "Enterradius:");

    radius = Double.parseDouble(radiusStr);

    //compute area and circumference

    area = PI * radius * radius;

    circumference = 2.0 * PI * radius;

    JOptionPane.showMessageDialog(null, "GivenRadius: " + radius + "\n" + "Area: "+ area + "\n" + "Circumference: " +circumference);

    }

    }

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    26/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.4 Getting Numerical Input Values

    An illustration of how the compiler

    interprets an overloaded operator.

    int x = 1;

    int y = 2;

    String output = test + x + y;

    String output = x + y + test;

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    27/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.4

    The dialog that appears when the input

    value 2.35 was entered into theCh3Circle program.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    28/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.5

    The result of formatting the output

    values by using a DecimalFormatobject.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    29/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.5 Standard Output

    The showMessageDialogmethod is

    intended for displaying short one-linemessages, not for a general-purpose

    output mechanism.

    Using System.out,we can output

    multiple lines of text to the standard

    output window.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    30/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.6

    The standard output window for

    displaying multiple lines of text.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    31/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.5 Standard Output

    We use the printmethod to output a

    value.

    The printmethod will continue printing

    from the end of the currently displayedoutput.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    32/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.7

    Result of executing

    System.out.print(Hello, Dr.Caffeine.).

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    33/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.8

    Result of sending five printmessages

    to System.outof Figure 3.7.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    34/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.5 Standard Output

    The printmethod will do the necessary

    type conversion if we pass numericaldata.

    We can print an argument and skip tothe next line so that subsequent output

    will start on the next line by using

    printlninstead of print.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    35/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.9

    The result of mixing printwith four

    printlnmessages to System.out.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    36/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.6 Standard Input

    The technique of using System.into

    input data is called standard input.

    We can only input a single byte usingSystem.in directly.

    To input primitive data values, we usethe Scanner class (from Java 2 SDK

    1.5).

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    37/64

    MELJUN CORTES MBA MPA BSCS ACS

    Here's a sample code to input one

    integer and one double:

    Scanner scanner;

    scanner = Scanner.create(System.in);

    int num = scanner.nextInt();

    double val = scanner.nextDouble();

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    38/64

    MELJUN CORTES MBA MPA BSCS ACS

    Method Example

    nextByte( ) byte b = scanner.nextByte( );

    nextDouble( ) double d = scanner.nextDouble( );nextFloat( ) float f = scanner.nextFloat( );

    nextInt( ) int i = scanner.nextInt( );

    nextLong( ) long l = scanner.nextLong( );

    nextShort( ) short s = scanner.nextShort( );

    next() String str = scanner.next();

    Common Methods:

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    39/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.7 The MathClass

    The Mathclass in thejava.lang

    package contains class methods forcommonly used mathematical

    functions.

    Table 3.6 contains a partial list of class

    methods available in the Mathclass.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    40/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.8 The GregorianCalendarClass

    The GregorianCalendarclass is useful

    in manipulating calendar informationsuch as year, month, and day.

    Note that the first month of the year,January, is represented by 0.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    41/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.12

    Result of running the Ch3TestCalendar

    program at November 11, 2002, 6:13p.m.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    42/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    Program flow:

    Get three input values:

    loanAmount, interestRate, and

    loanPeriod.

    Compute the monthly and totalpayments.

    Output the results.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    43/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.13

    The object diagram for the program

    LoanCalculator.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    44/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    Steps of implementation:

    1. Start with code to accept three input

    values.

    2. Add code to output the results.

    3. Add code to compute the monthlyand total payments.

    4. Update or modify code and tie up

    any loose ends.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    45/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    Step 1 Development: Input Three Data

    Values

    Call the showInputDialogmethod to

    accept three input values: loan amount,

    annual interest rate,

    loan period.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    46/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    /*

    Chapter 3 Sample Development: Loan Calculator

    (Step 1)

    File: Step1/Ch3LoanCalculator.java

    Step 1: Input Data Values

    */

    import javax.swing.*;

    class Ch3LoanCalculator {

    public static void main (String[] args) {

    double loanAmount,annualInterestRate;

    int loanPeriod;

    String inputStr;

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    47/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //get input values

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Amount (Dollars+Cents):");

    loanAmount = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Annual Interest Rate (e.g.,9.5):");

    annualInterestRate = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Period - # of years:");

    loanPeriod = Integer.parseInt(inputStr);

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    48/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //echo print the input values

    System.out.println("Loan Amount: $" +loanAmount);

    System.out.println("Annual Interest Rate: " +

    annualInterestRate + "%");

    System.out.println("Loan Period (years): " +

    loanPeriod);

    }

    }

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    49/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    Step 2 Development: Output Values

    We must determine an appropriate

    format to display the computed results,

    so that the results will becomprehensible to the user.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    50/64

    MELJUN CORTES MBA MPA BSCS ACS

    Fig. 3.14

    Two display formats: One with input

    values displayed, and the other withonly the computed values displayed.

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    51/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    /*

    Chapter 3 Sample Development: Loan Calculator

    (Step 2)

    File: Step2/Ch3LoanCalculator.java

    Step 2: Display the Result

    */

    import javax.swing.*;

    class Ch3LoanCalculator {

    public static void main (String[] args) {

    double loanAmount,

    annualInterestRate;

    double monthlyPayment,

    totalPayment;

    int loanPeriod;

    String inputStr;

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    52/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //get input values

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Amount (Dollars+Cents):");

    loanAmount = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Annual Interest Rate (e.g.,

    9.5):");

    annualInterestRate = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Period - # of years:");

    loanPeriod = Integer.parseInt(inputStr);

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    53/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //compute the monthly and total payments

    monthlyPayment = 132.15;

    totalPayment = 15858.10;

    //display the result

    System.out.println("Loan Amount: $" +loanAmount);

    System.out.println("Annual Interest Rate: " +

    annualInterestRate + "%");System.out.println("Loan Period (years): " +

    loanPeriod);

    System.out.println("\n"); //skip two lines

    System.out.println("Monthly payment is $ " +monthlyPayment);

    System.out.println(" TOTAL payment is $ " +totalPayment);

    }

    }

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    54/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    Step 3 Development: Compute Loan

    Amount

    Complete the program by implementing

    the formula derived in the design

    phase.

    We must convert the annual interest

    rate (input value) to a monthly interest

    rate (per the formula), and the loanperiod to the number of monthly

    payments.

    S C

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    55/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    /*

    Chapter 3 Sample Development: Loan Calculator (Step 3)

    File: Step3/Ch3LoanCalculator.java

    Step 3: Compute the monthly and total payments

    */

    import javax.swing.*;

    class Ch3LoanCalculator {

    public static void main (String[] args) {

    final int MONTHS_IN_YEAR = 12;

    double loanAmount, annualInterestRate,monthlyPayment, totalPayment;

    double monthlyInterestRate;

    int loanPeriod, numberOfPayments;

    String inputStr;

    3 9 S l D l L C l l

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    56/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //get input values

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Amount(Dollars+Cents):");loanAmount = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Annual Interest Rate (e.g.,9.5):");

    annualInterestRate=Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,"Loan Period - # of years:");

    loanPeriod = Integer.parseInt(inputStr);

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    57/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //compute the monthly and total payments

    monthlyInterestRate = annualInterestRate /MONTHS_IN_YEAR / 100;

    numberOfPayments = loanPeriod * MONTHS_IN_YEAR;

    monthlyPayment =

    (loanAmount * monthlyInterestRate) /(1 - Math.pow(1/(1 + monthlyInterestRate),

    numberOfPayments ) );

    totalPayment = monthlyPayment * numberOfPayments;

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    58/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //display the result

    System.out.println("Loan Amount: $" +

    loanAmount);

    System.out.println("Annual Interest Rate: " +

    annualInterestRate + "%");

    System.out.println("Loan Period (years): " +

    loanPeriod);

    System.out.println("\n"); //skip two lines

    System.out.println("Monthly payment is $ "

    + monthlyPayment);

    System.out.println(" TOTAL payment is $ "

    + totalPayment);}

    }

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    59/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    Step 4 Development: Finishing Up

    Finalize the program by making

    necessary modifications or additions.

    We will add a program description and

    format the monthly and total payments

    to two decimal places.

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    60/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    /*

    Chapter 3 Sample Development: Loan Calculator (Step 4)

    File: Step4/Ch3LoanCalculator.java

    Step 4: Finalize the program

    */

    import javax.swing.*;

    import java.text.*;

    class Ch3LoanCalculator {

    public static void main (String[] args) {

    final int MONTHS_IN_YEAR = 12;

    double loanAmount, annualInterestRate;

    double monthlyPayment, totalPayment;

    double monthlyInterestRate;

    int loanPeriod, numberOfPayments;

    String inputStr;

    DecimalFormat df = new DecimalFormat("0.00");

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    61/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //describe the program

    System.out.println("This program computes the

    monthly and total");

    System.out.println("payments for a given loanamount, annual ");

    System.out.println("interest rate, and loan

    period.");

    System.out.println("Loan amount in dollars andcents, e.g., 12345.50");

    System.out.println("Annual interest rate inpercentage, e.g., 12.75");

    System.out.println("Loan period in number ofyears, e.g., 15");

    System.out.println("\n"); //skip two lines

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    62/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //get input values

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Amount(Dollars+Cents):");

    loanAmount = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Annual Interest Rate (e.g.,

    9.5):");

    annualInterestRate = Double.parseDouble(inputStr);

    inputStr = JOptionPane.showInputDialog(null,

    "Loan Period - # of years:");

    loanPeriod = Integer.parseInt(inputStr);

    3 9 S l D l t L C l l t

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    63/64

    MELJUN CORTES MBA MPA BSCS ACS

    3.9 Sample Development: Loan Calculator

    //compute the monthly and total payments

    monthlyInterestRate = annualInterestRate /MONTHS_IN_YEAR / 100;

    numberOfPayments = loanPeriod * MONTHS_IN_YEAR;

    monthlyPayment =

    (loanAmount * monthlyInterestRate) /(1 - Math.pow(1/(1 + monthlyInterestRate),

    numberOfPayments ) );

    totalPayment = monthlyPayment * numberOfPayments;

    3 9 Sample De elopment Loan Calc lator

  • 8/13/2019 MELJUN CORTES Java Numerical Data Types and Expressions

    64/64

    3.9 Sample Development: Loan Calculator

    //display the result

    System.out.println("Loan Amount: $" +

    loanAmount);System.out.println("Annual Interest Rate: " +

    annualInterestRate + "%");

    System.out.println("Loan Period (years): " +loanPeriod);

    System.out.println("\n"); //skip two lines

    System.out.println("Monthly payment is $ "

    + df.format(monthlyPayment));

    System.out.println(" TOTAL payment is $ "

    + df.format(totalPayment));

    }

    }