chapter 2 ch 1 – introduction to computers and java basic computation 1

73
Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computatio n 1

Upload: emily-merritt

Post on 29-Dec-2015

236 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

1

Chapter 2

Ch 1 – Introduction toComputers and Java

Basic Computation

Page 2: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

2

Chapter 2

2.1 Variables / Expressions

2.2 The Class String

2.3 Keyboard/Screen IO

2.4 Documentation / Style

2.5 Graphics Supplement

Page 3: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

3

2.1Variables and Expressions

Page 4: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

4

A variable names a memory location

10

3

RAM

yearsMarried

numberOfChildren

Variable Name

1000

996

Memory address

Page 5: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

5

A variable's value can change

11

3

RAM

yearsMarried

numberOfChildren

10

3

RAM

yearsMarried

numberOfChildren

Page 6: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

6

Application Deconstructed<CountMoney.java>

package countmoney;

public class CountMoney { public static void main(String[] args) {

int numberOfOneDollarBills = 25; int numberOfTwentyDollarBills = 3; int numberOfFiftyDollarBills = 4; int totalDollarAmount;

totalDollarAmount = numberOfFiftyDollarBills * 50 + numberOfTwentyDollarBills * 20 + numberOfOneDollarBills;

Variable Declarations

Page 7: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

7

Application Deconstructed< CountMoney.java >

System.out.println("Your total amount is $" + totalDollarAmount);

System.out.println("$50 x " + numberOfFiftyDollarBills + " = $" + numberOfFiftyDollarBills * 50); System.out.println("$20 x " + numberOfTwentyDollarBills + " = $" + numberOfTwentyDollarBills * 20); System.out.println(" $1 x " + numberOfOneDollarBills + " = $" + numberOfOneDollarBills); }// end main()}// end CountMoney Your total amount is $285

$50 x 4 = $200$20 x 3 = $60 $1 x 25 = $25

Page 8: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

8

A data type determineshow much memory is allocated

10

'A'

Page 9: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

9

Primitive types are usedfor variables

<value><Primitive variable>

Page 10: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

10

Class types are used forobjects

<reference to object value><Class object> <object value>

Page 11: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

11

An identifier is anything you name

int numberOfEggs; Variable name

public class EggBasket {...} Class name

public static void main (...) {...} Method name

Page 12: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

12

Identifiers may begin with aletter or underscore

EggBasket Class: Capitalize each word

_numberOfEggs Variable: Capitalize subsequent words

main Method: Capitalize subsequent words

Page 13: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

13

Identifiers may containletters, digits or underscore

Valid: anotherDay_yesOrNono_one_knowseasyAs123

Invalid: another Day?yesOrNono.one.knows123Abcif

Page 14: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

14

Identifiers are case sensitive

All of the following variables are different.

int myNumber;

int MyNumber;

int mynumber;

Page 15: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

15

Use an assignment statementto change a variable's value

int sum;int num1;int num2;char firstInitial;

num1 = 10;num2 = 20;sum = num1 + num2;

firstInitial = 'S';

Page 16: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

16

Use Scanner for input

import java.util.Scanner; // Import the Scanner class

public class SampleIO { public static void main(String[] args) {

// Declare Scanner object. Scanner keyboard = new Scanner(System.in);

// Read the value from the keyboard. ... value = keyboard.nextInt();

}}

Page 17: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

17

Use System.out for output

import java.util.Scanner; // Import the Scanner class

public class SampleIO { public static void main(String[] args) {

// Read the value from the keyboard. System.out.println("Enter an integer value: "); ...

// Output the value just read in. System.out.println("You entered the number: " + value); }}

Page 18: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

18

Application Deconstructed<SampleIO.java>

import java.util.Scanner; // Import the Scanner class

public class SampleIO { public static void main(String[] args) {

// Declare Scanner object. Scanner keyboard = new Scanner(System.in);

// Read the value from the keyboard. System.out.println("Enter an integer value: "); int value; value = keyboard.nextInt();

// Output the value just read in. System.out.println("You entered the number: " + value); }}

Page 19: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

19

Use constants for valuesthat do not change

double pi = 3.14;

// Change the value of the variable pi.pi = 3.14159;

public static final double PI = 3.14159;

// This will cause an error, since PI is not allowed to change.PI = 3.14;

public static final int DAYS_PER_WEEK = 7;

Page 20: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

20

Be aware of type incompatibilities

The type of the variable should match the type of the value assigned to it

The compiler will make the necessary conversions

Smaller types will convert to larger types (widening)

Page 21: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

21

Type cast to the rescue

double value = 7; // value = 7.0 – widening conversion

int value = 7.5; // illegal – narrowing conversion

int value = (int) 7.5; // required (narrowing)

double value = (double) 7; // not required, but preferred

Page 22: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

22

Can you say arithmetic?

+ addition

- subtraction

* multiplication

/ division (quotient)

% modulus (remainder)

Page 23: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

23

+ Addition is normal

int result = 7 + 5;result: 12

int result = 7 + 5.5;

int result = 7.0 + 5.5;int result = 12.5;result: 12

Page 24: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

24

/ Division is tricky

int result = 10 / 5;result: 2

int result = 1 / 2;

int result = 0;result: 0

double result = 1 / 2.0;

double result = 1.0 / 2.0;result: 0.5

Page 25: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

25

% Modulus is trickier

int result = 10 % 5;result: 0

int result = 1 % 2;

result: 1

double result = 4.5 % 3.0;

result: 1.5

Page 26: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

26

Follow the rules of precedence

unary: +, -, !, ++, -- right to left evaluation

binary: *, /, % left to right evaluation

binary: +, - left to right evaluation

Page 27: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

27

Follow the arithmetic rules

int result = 10 + 5 – 3 * 4;

int result = 10 + 5 – 12;

int result = 15 – 12;

int result = 3;

result: 3

Page 28: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

28

Follow the arithmetic rules

int result = 10 / 5 * 5 – 3 % 4;

int result = 2 * 5 – 3 % 4;

int result = 10 – 3 % 4;

int result = 10 – 3;

result: 7

int result = 7;

Page 29: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

29

Parentheses always win

int result = 10 + (5 – 3) * 4;

int result = 10 + 2 * 4;

int result = 10 + 8;

int result = 18;

result: 18

Page 30: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

30

Feel free to specialize the assignment operator

result = result + 10;

result += 10;

var -= value; // var = var – value

var /= value; // var = var / value

var *= value; // var = var * value

var %= value; // var = var % value

Page 31: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

31

Vending Machine Change<Algorithm>

1) Read the amount in cents into the variable amountInCents.

2) Save amountInCents: originalAmountInCents = amountInCents;

3) Determine #of quarters: quarters = amountInCents / 25;

4) Reset amountInCents: amountInCents = amountInCents % 25;

5) Determine #of dimes: dimes = amountInCents / 10;

6) Reset amountInCents: amountInCents = amountInCents % 10;

7) Determine #of nickels: nickels = amountInCents / 5;

9) Determine #of pennies: pennies = amountInCents % 5;

10) Display originalAmount and qty of each coin.

8) Reset amountInCents: amountInCents = amountInCents % 5;

Page 32: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

32

Application Deconstructed<ChangeMaker.java>

import java.util.Scanner;

public class ChangeMaker { public static final int CENTS_PER_QUARTER = 25; public static final int CENTS_PER_DIME = 10; public static final int CENTS_PER_NICKEL = 5;

public static void main(String[] args) {

int amountInCents; int originalAmountInCents; int quarters; int dimes; int nickels; int pennies;

Page 33: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

33

Application Deconstructed<ChangeMaker.java>

// 1) Read the amount in cents into the variable amountInCents. Scanner keyboard = new Scanner(System.in);

amountInCents = keyboard.nextInt(); // 2) Save the amount for later. originalAmountInCents = amountInCents;

// 3) Determine # of quarters. quarters = amountInCents / CENTS_PER_QUARTER;

// Ask for the amount in cents. System.out.print("Enter an amount of pennies [1-99]: ");

// 4) Reset the amountInCents. amountInCents %= CENTS_PER_QUARTER;

Page 34: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

34

Application Deconstructed<ChangeMaker.java>

// 6) Reset the amountInCents. amountInCents %= CENTS_PER_DIME;

// 7) Determine # of nickels. nickels = amountInCents / CENTS_PER_NICKEL;

// 8) Reset the amountInCents. amountInCents %= CENTS_PER_NICKEL;

// (5) Determine # of dimes. dimes = amountInCents / CENTS_PER_DIME;

// 9) Determine # of pennies. pennies = amountInCents;

Page 35: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

35

Application Deconstructed<ChangeMaker.java>

// 10) Display originalAmount and qty of each coin. System.out.println("Original amount in cents: " + originalAmountInCents); System.out.println("# of quarters: " + quarters); System.out.println("# of dimes: " + dimes); System.out.println("# of nickels: " + nickels); System.out.println("# of pennies: " + pennies); }// end main()}// end ChangeMaker

Page 36: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

36

Use ++ or -- toincrement / decrement

int count = 1;

count++; // count = 2;++count; // count = 3;

int count = 1;

int result = ++count; // count = 2, result = 2

result = count++; // count = 3, result = 2

Page 37: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

37

Recap

Variables name memory locations. Data types dictate memory allocation. Objects are instances of classes. Scanner is used for input. System.out is used for output. Const variables don't change.

Page 38: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

38

2.2The Class String

Page 39: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

39

Text in "" is just a string constant

System.out.println("Enter a positive integer [1-100]: ");

a string constant or literal

String prompt = "Enter a positive integer [1-100]: ";

System.out.println(prompt);

String class

Page 40: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

40

Concatenation is addingone string to another

String first = "Howdie";String last = "Doodie";

String name = first + last; // name = HowdieDoodie

String message = "";

message += "Amount = "; // message = "Amount = "

name = first + " " + last; // name = Howdie Doodie

message += 45.50; // message = "Amount = 45.50"

message += "\nPlease pay up"; // message = "Amount = 45.50 Please pay up"

Page 41: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

41

Strings being objectsdo have methods

Method DescriptioncharAt(Index) Returns the character in the receiving string, at Index (0 based)

length() Returns the number of characters in the receiving string

indexOf(A_String) Returns the index of the first occurrence of A_String within the receiving string. Returns -1 if not found.

lastIndexOf(A_String) Returns the index of the last occurrence of A_String within the receiving string. Returns -1 if not found.

toLowerCase() Returns a new string in all lowercase characters.

toUpperCase() Returns a new string in all uppercase characters.

substring(Start) Returns a new string starting at Start and extending to the end of the receiving string.

substring(Start, End) Returns a new string starting at Start and ending at End – 1 of the receiving string.

trim() Returns a new string with leading and trailing whitespace removed.

equals(Other_String) Returns true if the receiving string is equal to Other_String, false otherwise.

Page 42: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

42

Strings are immutable

String name = "Howdie";

name = "Powdie";

nameHowdie

Memory

name

Powdie

Memory

Page 43: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

43

Here's your roadmap forescaping

String title;

title = "I love \"Java\",\ncause it\'s hot!";

System.out.println(title);

I love "Java",cause it's hot!

Page 44: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

44

UnicodeThe new kid on the block

ASCII (older standard)

American Standard Code for Information Interchange1 Byte per character256 total characters

UNICODE (newer standard)

2 Bytes per character65,536 total charactersincludes the ASCII set

Page 45: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

45

Recap

String literals are enclosed in double quotes.

+ concatenates two strings together.

Strings are immutable.

escape \', \" and \\

Page 46: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

46

2.3Keyboard and

Screen IO

Page 47: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

47

Output goes to the screen

System.out.println("This is some text.");

class

obj

method

Page 48: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

48

Input comes from the keyboard

import java.util.Scanner;

...Scanner keyboard = new Scanner(System.in);

programmervariable

int value = keyboard.nextInt(); // read next int

double value = keyboard.nextDouble(); // read next double

String value = keyboard.next(); // read next word

String value = keyboard.nextLine(); // read entire line

Page 49: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

49

Application Deconstructed<ScannerIODemo.java>

package scanneriodemo;

import java.util.Scanner;

public class ScannerIODemo { public static void main(String[] args) {

Scanner keyboard = new Scanner(System.in); System.out.print("Enter two integers: "); int int1 = keyboard.nextInt(); int int2 = keyboard.nextInt(); System.out.println("You entered " + int1 + " and " + int2);

Page 50: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

50

Application Deconstructed<ScannerIODemo.java>

System.out.print("Now enter two doubles: "); double double1 = keyboard.nextDouble(); double double2 = keyboard.nextDouble(); System.out.println("You entered " + double1 + " and " + double2);

System.out.print("Now enter two words: "); String string1 = keyboard.next(); String string2 = keyboard.next(); // newline is still in // the buffer keyboard.nextLine(); // so, let's remove it System.out.println("You entered " + string1 + " and " + string2);

Page 51: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

51

Application Deconstructed<ScannerIODemo.java>

System.out.print("Now enter an entire sentence: "); String sentence = keyboard.nextLine(); System.out.println("You entered \"" + sentence + "\""); }// end main()}// end ScannerIODemo

Page 52: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

52

Be wary of thenext-nextLine combo

int num = keyboard.nextInt();String str1 = keyboard.nextLine();String str2 = keyboard.nextLine();

Given the following input:1 is the<\n>loneliest number.<\n>

num: 1str1: is thestr2: loneliest number

Page 53: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

53

Be weary of thenext-nextLine combo

int num = keyboard.nextInt();String str1 = keyboard.nextLine();String str2 = keyboard.nextLine();

Given the following input:1<\n>is the<\n>loneliest number.<\n>

num: 1str1: ""str2: is the

Page 54: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

54

The input delimitercan be changed

Scanner KeyboardComma = new Scanner(System.in);

keyboardComma.useDelimeter(",");

Page 55: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

55

Application Deconstructed<DelimiterDemo.java>

package delimiterdemo;import java.util.Scanner;

public class DelimiterDemo { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); Scanner keyboardComma = new Scanner(System.in); keyboardComma.useDelimiter(",");

System.out.print("Enter two words: "); String word1 = keyboard.next(); String word2 = keyboard.nextLine(); System.out.println("Word1 = \"" + word1 + "\", Word2 = \"" + word2 + "\"");

Page 56: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

56

Application Deconstructed<DelimeterDemo.java>

System.out.println(); System.out.print("Enter two words: "); word1 = keyboardComma.next(); word2 = keyboardComma.nextLine(); System.out.println("Word1 = \"" + word1 + "\", Word2 = \"" + word2 + "\""); }// end main()}// end DelimiterDemo

Page 57: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

57

Your output should be formattedFormat Specifier Description

%c A single character.

%2c A single character in a field of 2 spaces. Right aligned.

%d An integer.

%5d An integer in a field of 5 spaces. Right aligned.

%f A floating point number.

%6.2f A floating point number in a field of 6 spaces with 2 digits after the decimal. Right aligned.

%1.2f A floating point number with 2 digits after the decimal, in a field as big as needed. Right aligned.

%e A floating point number in exponential format.

%s A string in a field as big as needed.

%10s A string in a field of 10 spaces. Right aligned.

Page 58: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

58

Formatting your Output

double price = 19.5;int quantity = 2;String item = "Widgets";

System.out.printf("%10s sold:%4d at $5.2f. Total = $1.2f", item, quantity, price, quantity * price);

"Widgets sold:2 at $19.50. Total = $39.00"

Page 59: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

59

Recap

Output goes to the screen.

Input comes from the keyboard.

Heads up fo the next-nextLine debacle.

Format your output.

Page 60: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

60

2.4Comments and Style

Page 61: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

61

Variables should beself-documenting

int count; // count of what? int countOfApples;

int sum = 0; // sum of what? int sumOfIntegerNumbers = 0;

double height; // in what units? double heightInInches;

Page 62: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

62

Comments should explainyour code

// Each line starts with a pair of // and can be// placed anywhere. Everything after the //// is ignored.

/* This second form is a bit more convenient for commenting a large section of code.*/

/** Last, but certainly not least, this style allows for the use of javadoc, a utility that can generate html style help docs.*/

Page 63: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

63

Indentation adds structureto your code

// Without indentation.public class Demo {public static void main(String[] args) {System.out.println("Ouch!");}// end main()}// end Demo

// With indentation.public class Demo { public static void main(String[] args) { System.out.println("Nice!"); }// end main()}// end Demo

Page 64: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

64

Named constants enhancereadability and maintainability

// Without named constants.public class Demo { public static void main(String[] args) { double radiusInInches = 5.0;

System.out.println("Circumference = " + 2 * 3.1415 * radiusInInches); System.out.println("Area = " + 3.1415 * radiusInInches * radiusInInches); }// end main()}// end Demo

// With named constants.public class Demo { public static final double PI = 3.1415;

public static void main(String[] args) { double radiusInInches = 5.0;

System.out.println("Circumference = " + 2 * PI * radiusInInches); System.out.println("Area = " + PI * radiusInInches * radiusInInches); }// end main()}// end Demo

Page 65: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

65

2.5Graphics

Supplement

Page 66: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

66

JFrame Application Deconstructed<HappyFaceJFrame.java>

package happyfacejframe;

import javax.swing.JFrame;import java.awt.Graphics;

public class HappyFaceJFrame extends JFrame { public static final int FACE_DIAMETER = 200; public static final int X_FACE = 100; public static final int Y_FACE = 50;

public static final int EYE_WIDTH = 10; public static final int EYE_HEIGHT = 20; public static final int X_RIGHT_EYE = 155; public static final int X_LEFT_EYE = 230; public static final int Y_RIGHT_EYE = 100; public static final int Y_LEFT_EYE = Y_RIGHT_EYE;

Use JFrame for apps

Page 67: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

67

JFrame Application Deconstructed<HappyFaceJFrame.java>

public static final int MOUTH_WIDTH = 100; public static final int MOUTH_HEIGHT = 50; public static final int X_MOUTH = 150; public static final int Y_MOUTH = 160; public static final int MOUTH_START_ANGLE = 180; public static final int MOUTH_EXTENT_ANGLE = 180;

@Override public void paint(Graphics canvas) { canvas.drawOval(X_FACE, Y_FACE, FACE_DIAMETER, FACE_DIAMETER); canvas.fillOval(X_RIGHT_EYE, Y_RIGHT_EYE, EYE_WIDTH, EYE_HEIGHT); canvas.fillOval(X_LEFT_EYE, Y_LEFT_EYE, EYE_WIDTH, EYE_HEIGHT); canvas.drawArc(X_MOUTH, Y_MOUTH, MOUTH_WIDTH, MOUTH_HEIGHT, MOUTH_START_ANGLE, MOUTH_EXTENT_ANGLE); }// end paint()

Page 68: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

68

JFrame Application Deconstructed<HappyFaceJFrame.java>

public HappyFaceJFrame() { setSize(600, 400); setDefaultCloseOperation(EXIT_ON_CLOSE); }// end HappyFaceJFrame()

public static void main(String[] args) { HappyFaceJFrame guiWindow = new HappyFaceJFrame(); guiWindow.setVisible(true); }// end main() }// end HappyFaceJFrame

Set window's initial width and

height

Initialize the window and

make it visible

Exit program when window is

closed.

Page 69: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

69

Applet Deconstructed<HappyFaceJFrame.java>

Page 70: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

70

Application Deconstructed<JOptionPaneDemo.java>

package joptionpanedemo;import javax.swing.JOptionPane;

public class JOptionPaneDemo {

public static void main(String[] args) { String priceAsString = JOptionPane.showInputDialog("Enter item price:");

double price = Double.parseDouble(priceAsString);

Page 71: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

71

Application Deconstructed<JOptionPaneDemo.java>

String salesTaxPercentAsString = JOptionPane.showInputDialog("Enter sales tax [6.75]:");

double salesTaxPercent = Double.parseDouble(salesTaxPercentAsString);

Page 72: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

72

Application Deconstructed<JOptionPaneDemo.java>

double taxOwed = price * salesTaxPercent / 100.0;

JOptionPane.showMessageDialog(null, "Tax owed = $" + taxOwed, "Tax Amount", JOptionPane.INFORMATION_MESSAGE); }// end main()}// end JOptionPaneDemo

Page 73: Chapter 2 Ch 1 – Introduction to Computers and Java Basic Computation 1

73

Recap

Use lots of consts with your graphics.

Use JFrame for GUI apps.

Use JOptionPane for GUI flavored IO.