Presentation is loading. Please wait.

Presentation is loading. Please wait.

Review of Math Class Methods abssqrt minmax powround ceilfloor.

Similar presentations


Presentation on theme: "Review of Math Class Methods abssqrt minmax powround ceilfloor."— Presentation transcript:

1

2 Review of Math Class Methods abssqrt minmax powround ceilfloor

3 Review of Math Class Attributes PIE Circumference of a Circle / its Diameter About 3.1415926535897932384626433832795 Base of the Natural Log About 2.7182818284590452353602874713526

4 Visual Classes 1 Class: Bug 5 Objects: All Bug Objects

5 Visual Classes 2 Classes: Bug Rock 8 Objects: 5 Bug Objects 3 Rock Objects

6 Visual Classes 4 Classes: Bug Flower Rock Actor 4 Objects: 1 Bug Object 1 Flower Object 1 Rock Object 1 Actor Object

7 Visual Classes 4 Classes: Bug Flower Rock Actor 12 Objects: 3 Bug Objects 3 Flower Objects 3 Rock Objects 3 Actor Objects

8

9 // Java0601.java // This program demonstrates that the methods of a class are not always // accessible, like they were with the class. In this case an // attempt is made to use methods of the class without success. public class Java0601 { public static void main (String args[]) { System.out.println("\nJAVA0601.JAVA\n"); Bank.checkingDeposit(1000.0); Bank.savingsDeposit(5000.0); System.out.println("Checking balance: " + Bank.getChecking() ); System.out.println("Savings balance: " + Bank.getSavings() ); System.out.println(); }

10 // Java0602.java // This program creates two Bank objects, called tom and sue. // Each object stores its own Bank information. public class Java0602 { public static void main (String args[]) { System.out.println("\nJAVA0602.JAVA\n"); Bank tom; tom = new Bank(); Bank sue; sue = new Bank(); tom.checkingDeposit(1000.0); tom.savingsDeposit(5000.0); sue.checkingDeposit(1500.0); sue.savingsDeposit (4000.0); System.out.println("Tom's checking balance: " + tom.getChecking()); System.out.println("Tom's savings balance: " + tom.getSavings()); System.out.println("Sue's checking balance: " + sue.getChecking()); System.out.println("Sue's savings balance: " + sue.getSavings()); System.out.println(); } JAVA0602.JAVA Tom's checking balance: 1000.0 Tom's savings balance: 5000.0 Sue's checking balance: 1500.0 Sue's savings balance: 4000.0

11 Data Types & Variables vs. Classes & Objects You have seen program statements like: In this case, int is the data type and x is the variable. The previous program had this statement: In this case, Bank is the data type and tom is the variable ; however, Bank is a special data type called a class, and tom is a special variable called an object. int x; Bank tom;

12 // Java0603.java This program demonstrates how an object can be constructed with a specified // initial balance in checking and savings. Most Java classes have multiple // constructors to create objects for multiple situations. public class Java0603 { public static void main (String args[]) { System.out.println("\nJAVA0603.JAVA\n"); Bank tom;tom = new Bank(5000.0,10000.0); Bank sue;sue = new Bank(3000.0,15000.0); System.out.println("Tom's checking balance: " + tom.getChecking()); System.out.println("Tom's savings balance: " + tom.getSavings()); System.out.println("Sue's checking balance: " + sue.getChecking()); System.out.println("Sue's savings balance: " + sue.getSavings()); System.out.println(); System.out.println("Tom makes a $1000.00 checking withdrawal"); tom.checkingDeposit(1000.0); System.out.println("Tom makes a $2000.00 savings withdrawal"); tom.savingsDeposit(2000.0); System.out.println("Sue makes a $1500.00 checking deposit"); sue.checkingDeposit(1500.0); System.out.println("Sue makes a $3000.00 savings deposit"); sue.savingsDeposit(3000.0); System.out.println(); System.out.println("Tom's checking balance: " + tom.getChecking()); System.out.println("Tom's savings balance: " + tom.getSavings()); System.out.println("Sue's checking balance: " + sue.getChecking()); System.out.println("Sue's savings balance: " + sue.getSavings()); System.out.println(); } JAVA0603.JAVA Tom's checking balance: 5000.0 Tom's savings balance: 10000.0 Sue's checking balance: 3000.0 Sue's savings balance: 15000.0 Tom makes a $1000.00 checking deposit Tom makes a $2000.00 savings deposit Sue makes a $1500.00 checking deposit Sue makes a $3000.00 savings deposit Tom's checking balance: 6000.0 Tom's savings balance: 12000.0 Sue's checking balance: 4500.0 Sue's savings balance: 18000.0

13 The Preferred Way Let us think back to Chapter 3. You were shown statements that define and initialize variables like: But then, you were shown that it is better to define and initialize your variables in one statement like this: The same thing applies to creating objects. The previous program first declared an object, and then constructed it, with 2 separate statements: As before, it is better to combine these 2 statements into one. We can declare and construct the object in one statement like this: int x; x = 5; int x = 5; Bank tom; tom = new Bank(5000.0,10000.0); Bank tom = new Bank(5000.0,10000.0);

14 // Java0604.java // This program demonstrates how an object can be declared and defined all in one statement. // It also shows the checkingWithdrawal and savingsWithdrawal method. public class Java0604 { public static void main (String args[]) { System.out.println("\nJAVA0604.JAVA\n"); Bank tom = new Bank(5000.0,10000.0); Bank sue = new Bank(3000.0,15000.0); System.out.println("Tom's checking balance: " + tom.getChecking()); System.out.println("Tom's savings balance: " + tom.getSavings()); System.out.println("Sue's checking balance: " + sue.getChecking()); System.out.println("Sue's savings balance: " + sue.getSavings()); System.out.println(); System.out.println("Tom makes a $1000.00 checking withdrawal"); tom.checkingWithdrawal(1000.0); System.out.println("Tom makes a $2000.00 savings withdrawal"); tom.savingsWithdrawal(2000.0); System.out.println("Sue makes a $1500.00 checking withdrawal"); sue.checkingWithdrawal(1500.0); System.out.println("Sue makes a $3000.00 savings withdrawal"); sue.savingsWithdrawal(3000.0); System.out.println(); System.out.println("Tom's checking balance: " + tom.getChecking()); System.out.println("Tom's savings balance: " + tom.getSavings()); System.out.println("Sue's checking balance: " + sue.getChecking()); System.out.println("Sue's savings balance: " + sue.getSavings()); System.out.println(); } JAVA0604.JAVA Tom's checking balance: 5000.0 Tom's savings balance: 10000.0 Sue's checking balance: 3000.0 Sue's savings balance: 15000.0 Tom makes a $1000.00 checking withdrawal Tom makes a $2000.00 savings withdrawal Sue makes a $1500.00 checking withdrawal Sue makes a $3000.00 savings withdrawal Tom's checking balance: 4000.0 Tom's savings balance: 8000.0 Sue's checking balance: 1500.0 Sue's savings balance: 12000.0

15

16 // Java0605.java // This program demonstrates how to "right justify" integers with an object // of the class and the method. import java.text.DecimalFormat; // necessary to use DecimalFormat class public class Java0605 { public static void main (String args[]) { System.out.println("\nJAVA0605.JAVA\n"); DecimalFormat output = new DecimalFormat("00000"); System.out.println(output.format(1)); System.out.println(output.format(12)); System.out.println(output.format(123)); System.out.println(output.format(1234)); System.out.println(output.format(12345)); System.out.println(output.format(123456)); System.out.println(output.format(1234567)); System.out.println(); } JAVA0605.JAVA 00001 00012 00123 01234 12345 123456 1234567

17 // Java0606.java // This program brings back the Nested Loop Times Table from Java0530.java. // With the help of the output looks much better. import java.text.DecimalFormat; // necessary to use DecimalFormat class public class Java0606 { public static void main (String args[]) { System.out.println("\nJAVA0606.JAVA\n"); DecimalFormat output = new DecimalFormat("000"); for (int r = 1; r <= 10; r++) { for (int c = 1; c <= 15; c++) { int product = r * c; System.out.print( output.format(product ) + " "); } System.out.println(); } System.out.println(); } JAVA0606.JAVA 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 002 004 006 008 010 012 014 016 018 020 022 024 026 028 030 003 006 009 012 015 018 021 024 027 030 033 036 039 042 045 004 008 012 016 020 024 028 032 036 040 044 048 052 056 060 005 010 015 020 025 030 035 040 045 050 055 060 065 070 075 006 012 018 024 030 036 042 048 054 060 066 072 078 084 090 007 014 021 028 035 042 049 056 063 070 077 084 091 098 105 008 016 024 032 040 048 056 064 072 080 088 096 104 112 120 009 018 027 036 045 054 063 072 081 090 099 108 117 126 135 010 020 030 040 050 060 070 080 090 100 110 120 130 140 150

18 // Java0607.java // This program demonstrates how to insert commas in // numerical comma with a object. import java.text.DecimalFormat; public class Java0607 { public static void main (String args[]) { System.out.println("\nJAVA0607.JAVA\n"); DecimalFormat output = new DecimalFormat("0,000,000"); System.out.println(output.format(1)); System.out.println(output.format(12)); System.out.println(output.format(123)); System.out.println(output.format(1234)); System.out.println(output.format(12345)); System.out.println(output.format(123456)); System.out.println(output.format(1234567)); System.out.println(); } JAVA0607.JAVA 0,000,001 0,000,012 0,000,123 0,001,234 0,012,345 0,123,456 1,234,567 Try this! Change the DecimalFormat to “0,000” and change the last number to 1234567890

19 // Java0608.java // This program demonstrates how to display US currency amounts. // Additionally note how the methods rounds off to the nearest penny. // Also, note that the object does not have to be called "output". import java.text.DecimalFormat; public class Java0608 { public static void main (String args[]) { System.out.println("\nJAVA0608.JAVA\n"); DecimalFormat money = new DecimalFormat("$0.00"); System.out.println(money.format(1)); System.out.println(money.format(12.2)); System.out.println(money.format(123.32)); System.out.println(money.format(1234.432)); System.out.println(money.format(12345.543)); System.out.println(money.format(123456.654)); System.out.println(money.format(1234567.7651)); System.out.println(); } JAVA0608.JAVA $1.00 $12.20 $123.32 $1234.43 $12345.54 $123456.65 $1234567.77

20 // Java0609.java // This program demonstrates how to control rounding off to a specified // number of digits beyond the decimal point. // It also shows that multiple objects can be in the same program. import java.text.DecimalFormat; public class Java0609 { public static void main (String args[]) { System.out.println("\nJAVA0609.JAVA\n"); DecimalFormat output1 = new DecimalFormat("0.0"); DecimalFormat output2 = new DecimalFormat("0.00"); DecimalFormat output3 = new DecimalFormat("0.000"); DecimalFormat output4 = new DecimalFormat("0.0000"); DecimalFormat output5 = new DecimalFormat("0.00000"); DecimalFormat output6 = new DecimalFormat("0.000000"); DecimalFormat output7 = new DecimalFormat("0.0000000"); DecimalFormat output8 = new DecimalFormat("0.00000000"); System.out.println(Math.PI); System.out.println(output1.format(Math.PI)); System.out.println(output2.format(Math.PI)); System.out.println(output3.format(Math.PI)); System.out.println(output4.format(Math.PI)); System.out.println(output5.format(Math.PI)); System.out.println(output6.format(Math.PI)); System.out.println(output7.format(Math.PI)); System.out.println(output8.format(Math.PI)); System.out.println(); } JAVA0609.JAVA 3.141592653589793 3.1 3.14 3.142 3.1416 3.14159 3.141593 3.1415927 3.14159265

21

22 // Java0610.java // This program demonstrates the method. // With, the string // Hello World will be displayed starting at the [x,y] pixel coordinate. import java.awt.*; import java.applet.*; public class Java0610 extends Applet { public void paint(Graphics g) { Expo.drawString(g,"Top-Left-Hand Corner",40,40); Expo.drawString(g,"Top-Right-Hand Corner",840,40); Expo.drawString(g,"Bottom-Left-Hand Corner",40,640); Expo.drawString(g,"Bottom-Right-Hand Corner",820,640); Expo.drawString(g,"Middle",480,330); }

23

24 The drawString Method Expo.drawString(g,"Hello There!", x, y); Draws any String starting at coordinate (x,y). Hello There! x, y

25 // Java0611.java // This program introduces the method. setFont requires a Name, Style and Size. // Name is either "Courier", "TimesRoman", "Arial", or any other available font. // Style is either Font.PLAIN, Font.BOLD, Font.ITALIC or Font.BOLD+Font.Italic. // Size is the point size value of the Font. import java.awt.*; public class Java0611 extends java.applet.Applet { public void paint(Graphics g) { Expo.drawString(g,"Default Appearance with drawString",20,20); Expo.setFont(g,"Courier",Font.PLAIN,20); Expo.drawString(g,"Courier 20-point plain font",20,60); Expo.setFont(g,"Courier",Font.BOLD,20); Expo.drawString(g,"Courier 20-point bold font",20,100); Expo.setFont(g,"TimesRoman",Font.PLAIN,36); Expo.drawString(g,"Times Roman 36-point plain font",20,180); Expo.setFont(g,"TimesRoman",Font.ITALIC,36); Expo.drawString(g,"Times Roman 36-point italic font",20,260); Expo.setFont(g,"Arial",Font.PLAIN,72); Expo.drawString(g,"Arial 72-point plain font",20,400); Expo.setFont(g,"Algerian", Font.BOLD+Font.ITALIC, 48); Expo.drawString(g,"Algerian 48-point bold/italic font",20,500); Expo.setFont(g,"Qwerty",Font.PLAIN,24); Expo.drawString(g," Arial 24-point plain font substituted for non-existent Qwerty font ",20,600); }

26

27

28 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

29 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

30 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

31 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

32 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

33 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

34 // Java0612.java // This program demonstrates the method. // can handle between 3 or more sets of coordinate // points to draw a triangle, quadrilateral, pentagon, hexagon, // octagon, or any other polygon. import java.awt.*; import java.applet.*; public class Java0612extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,500,100,800,200,600,400,400,400,200,200); } 500,100 800,200 600,400400,400 200,200

35 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

36 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

37 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

38 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

39 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

40 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

41 // Java0613.java // This program demonstrates that the sequence of adding coordinate // points as parameters is significant. The same coordinates of the // previous program are used in a different sequence. // The display is very different. import java.awt.*; import java.applet.*; public class Java0613 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,400,400,500,100,800,200,200,200,600,400); } 500,100 800,200 600,400400,400 200,200

42 // Java0614.java // This program demonstrates fillPolygon. import java.awt.*; import java.applet.*; public class Java0614 extends Applet { public void paint(Graphics g) { Expo.fillPolygon(g,500,100,800,200,600,400,400,400,200,200); }

43 // Java0615.java // This program fills 2 Polygons to draw a little boy with a red shirt and blue pants. import java.awt.*; import java.applet.*; public class Java0615 extends Applet { public void paint(Graphics g) { Expo.drawCircle(g,500,100,50); Expo.drawLine(g,500,150,500,400); Expo.drawLine(g,500,400,400,600); Expo.drawLine(g,500,400,600,600); Expo.drawLine(g,300,225,700,225); Expo.setColor(g,Expo.red); Expo.fillPolygon(g,350,200,650,200,650,250,575,250, 575,350,425,350,425,250,350,250); Expo.setColor(g,Expo.blue); Expo.fillPolygon(g,425,375,425,425,350,550,450,600, 500,450,550,600,650,550,575,425,575,375); }

44 1 // Java0616.java 2 // This program demonstrates what happens when / 3 // is called with an incorrect number of parameters. 4 // Since the parameters represent coordinate points, 5 // the number of parameters must always be even. 6 // Since a polygon must have at least 3 sides, 7 // the number of parameters must be at least 6. 8 // If either condition is not met, a special error message is displayed. 9 10 11 import java.awt.*; 12 import java.applet.*; 13 14 15 public class Java0616 extends Applet 16 { 17 public void paint(Graphics g) 18 { 19 Expo.drawCircle(g,500,100,50); 20 Expo.drawLine(g,500,150,500,400); 21 Expo.drawLine(g,500,400,400,600); 22 Expo.drawLine(g,500,400,600,600); 23 Expo.drawLine(g,300,225,700,225);

45 24 25 Expo.setColor(g,Expo.red); 26 Expo.fillPolygon(g,350,200,650,200,650,250,575,250, 575,350,425,350,425,250,350); 27 // The last parameter, 250, was removed from the command above. 28 // Now the last x value does not have a corresponding y value. 29 30 Expo.setColor(g,Expo.blue); 31 Expo.fillPolygon(g,425,375,425,425,350,550,450,600,500,450,550,600,650,550,575,425,575,375); 32 } 33 } 34

46 NOTE: After you click “OK” the rest of the program does execute without the messed up red shirt.

47 // Java0617.java // This program reviews drawPolygon, setFont, and drawString. import java.awt.*; import java.applet.*; public class Java0617 extends Applet { public void paint(Graphics g) { Expo.drawPolygon(g,175,175,250,50,350,200); Expo.drawString(g,"Triangle",225,150); Expo.drawPolygon(g,400,200,525,200,600,50,475,50); Expo.setFont(g,"Arial",Font.BOLD,16); Expo.drawString(g,"Quadralateral",425,175); Expo.drawPolygon(g,650,100,750,50,850,100,850,200,650,200); Expo.setFont(g,"Arial",Font.ITALIC,24); Expo.drawString(g,"Pentagon",700,150); Expo.drawPolygon(g,25,250,225,250,175,325,225,400,25,400,75,325); Expo.setFont(g,"TimesRoman",Font.PLAIN,24); Expo.drawString(g,"Hexagon",75,375); Expo.drawPolygon(g,275,250,375,250,475,300,475,400,350,400,350,325,275,325); Expo.setFont(g,"TimesRoman",Font.BOLD,28); Expo.drawString(g,"Heptagon",300,300); Continued on the next slide…

48 …Java0617.java Continued Expo.drawPolygon(g,525,300,600,250,650,250,725,300,725,350,650,400,600,400,525,350); Expo.setFont(g,"TimesRoman",Font.BOLD+Font.ITALIC,44); Expo.drawString(g,"Octagon",550,340); Expo.drawPolygon(g,775,300,800,250,975,250,925,325,975,325,975,400,875,400,825,375, 850,325); Expo.setFont(g,"TimesRoman",Font.ITALIC,36); Expo.drawString(g,"Nonagon",800,300); Expo.drawPolygon(g,150,500,200,450,250,500,300,450,350,500,350,550,300,600,250,550, 200,600,150,550); Expo.setFont(g,"Algerian",Font.PLAIN,36); Expo.drawString(g,"Decagon",175,540); Expo.drawPolygon(g,400,450,600,450,575,525,600,525,600,600,550,575,500,600,450,575, 400,600,400,525,425,525); Expo.setFont(g,"Courier",Font.BOLD,28); Expo.drawString(g,"Undecagon",425,560); Expo.drawPolygon(g,650,525,700,450,700,525,725,525,725,450,775,450,775,525,800,525, 800,450,850,525,850,600,650,600); Expo.setFont(g,"Courier",Font.ITALIC,28); Expo.drawString(g,"Dodecagon",675,560); }

49

50

51 The drawRegularPolygon Method Expo.drawRegularPolygon(g, centerX, centerY, radius, sides); The first 4 parameters for Expo.drawRegularPolygon are the same as Expo.drawCircle. The last parameter indicates the number of sides. centerX, centerY radius

52 // Java0618.java // This program demonstrates the drawRegularPolygon of the Expo class. // Regular Polygons are drawn from their center (X,Y) with a certain // radius and a certain number of sides with // drawRegularPolygon(g,x,y,radius,numSides). import java.awt.*; import java.applet.*; public class Java0618 extends Applet { public void paint(Graphics g) { Expo.drawRegularPolygon(g,200,170,130,5); Expo.drawRegularPolygon(g,500,170,130,6); Expo.drawRegularPolygon(g,800,170,130,7); Expo.drawRegularPolygon(g,200,490,130,8); Expo.drawRegularPolygon(g,500,490,130,9); Expo.drawRegularPolygon(g,800,490,130,10); }

53 // Java0619.java // This program demonstrates fillRegularPolygon. import java.awt.*; import java.applet.*; public class Java0619 extends Applet { public void paint(Graphics g) { Expo.setColor(g,Expo.blue); Expo.fillRegularPolygon(g,200,170,130,5); Expo.setColor(g,Expo.gold); Expo.fillRegularPolygon(g,500,170,130,6); Expo.setColor(g,Expo.magenta); Expo.fillRegularPolygon(g,800,170,130,7); Expo.setColor(g,Expo.red); Expo.fillRegularPolygon(g,200,490,130,8); Expo.setColor(g,Expo.green); Expo.fillRegularPolygon(g,500,490,130,9); Expo.setColor(g,Expo.purple); Expo.fillRegularPolygon(g,800,490,130,10); }

54 The drawStar Method Expo.drawStar(g, centerX, centerY, radius, points); The first 3 parameters for Expo.drawStar are the same as Expo.drawCircle. The last parameter indicates the number of points. radius centerX, centerY

55 // Java0620.java // This program demonstrates the drawStar and fillStar methods. import java.awt.*; import java.applet.*; public class Java0620 extends Applet { public void paint(Graphics g) { Expo.setColor(g,Expo.blue); Expo.drawStar(g,200,170,130,5); Expo.setColor(g,Expo.gold); Expo.fillStar(g,500,170,130,6); Expo.setColor(g,Expo.magenta); Expo.drawStar(g,800,170,130,7); Expo.setColor(g,Expo.red); Expo.fillStar(g,200,490,130,8); Expo.setColor(g,Expo.green); Expo.drawStar(g,500,490,130,9); Expo.setColor(g,Expo.purple); Expo.fillStar(g,800,490,130,10); }

56

57 // Java0621.java // This program demonstrates setColor command being used to "create" // new colors. The program will draw the Official Texas Flag with the // EXACT shades of red and blue. import java.awt.*; import java.applet.*; public class Java0621 extends Applet { public void paint(Graphics g) { Expo.setColor(g,0,39,104); // Official shade of blue used in the Texas Flag Expo.fillRectangle(g,0,0,325,650); Expo.setColor(g,190,10,47); // Official shade of red used in the Texas Flag Expo.fillRectangle(g,325,325,1000,650); Expo.setColor(g,255,255,255); Expo.fillStar(g,162,325,130,5); } // Three 255s is the same as color Expo.white

58

59 Where do you get the 3 color #s I started by downloading an image of the Official Texas Flag. I then loaded it in Paint. Using the eye-dropper tool, I then clicked on the desired color. I then clicked [Edit Colors] and made note of the red, green & blue values. By using the same 3 numbers in my program, I get the exact same color in the output of my Java program: Expo.setColor(g,0,39,104);

60 // Java0622.java // This program shows all the shades of Red, Green and Blue using the method. import java.awt.*; import java.applet.*; public class Java0622 extends Applet { public void paint(Graphics g) { int x = 50; for (int red = 0; red <= 255; red++) { Expo.setColor(g,red,0,0); Expo.drawLine(g,x,0,x,650); x++; } x = 350; for (int green = 0; green <= 255; green++) { Expo.setColor(g,0,green,0); Expo.drawLine(g,x,0,x,650); x++; } x = 650; for (int blue = 0; blue <= 255;blue++) { Expo.setColor(g,0,0,blue); Expo.drawLine(g,x,0,x,650); x++; }

61

62

63 // Java0623.java // This program uses the method of the Expo class // 5 times to create 5 random numbers between 1 and 100. public class Java0623 { public static void main (String args[]) { System.out.println("\nJAVA0621.JAVA\n"); System.out.println(Expo.random(1,100)); } JAVA0623.JAVA 83 78 7 71 52 JAVA0623.JAVA 56 34 74 36 48 Since we are working with RANDOM #s, your outputs will be different than mine – and also different from the other students in the class.

64 // Java0624.java // This program allows the user to specify the range of random numbers. public class Java0624 { public static void main (String args[]) { System.out.println("\nJAVA0624.JAVA\n"); System.out.print("Enter the smallest number you want. --> "); int minimum = Expo.enterInt(); System.out.print("Enter the largest number you want. --> "); int maximum = Expo.enterInt(); System.out.println(); System.out.println(Expo.random(minimum,maximum)); System.out.println(); }

65 JAVA0624.JAVA Enter the smallest number you want. --> 10 Enter the largest number you want. --> 99 41 82 23 32 84 JAVA0624.JAVA Enter the smallest number you want. --> 1000 Enter the largest number you want. --> 9999 7813 4110 7192 9785 5656

66

67 // Java0625.java // This program first displays two lines in a fixed location. // This is followed by generating four random values, which are // used to draw a third line in a random location. import java.awt.*; import java.applet.*; public class Java0625 extends Applet { public void paint(Graphics g) { Expo.drawLine(g,500,0,500,649); Expo.drawLine(g,0,325,999,325); int x1 = Expo.random(0,999); int y1 = Expo.random(0,649); int x2 = Expo.random(0,999); int y2 = Expo.random(0,649); Expo.setColor(g,Color.red); Expo.drawLine(g,x1,y1,x2,y2); }

68 // Java0626.java // This program displays a circle in a fixed location with a fixed size. // Two random values are generated for the center location of the circle // and a third random value is used for the radius of the circle. import java.awt.*; import java.applet.*; public class Java0626 extends Applet { public void paint(Graphics g) { Expo.drawCircle(g,500,325,250); int x = Expo.random(150,850); int y = Expo.random(150,500); int radius = Expo.random(10,150); Expo.setColor(g,Expo.red); Expo.drawCircle(g,x,y,radius); }

69 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

70 Changing Random Number Ranges to Affect the Graphics Program Output The next several slides will still show program Java0627.java, but the output of the program is different. You need to figure out how to change the each program to make it produce the output shown. NOTE: This skill is essential in doing Graphics Lab 03!

71 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

72 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random( 0,500 ); int y1 = Expo.random(0,650); int x2 = Expo.random( 0,500 ); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

73 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

74 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random( 500,1000 ); int y1 = Expo.random(0,650); int x2 = Expo.random( 500,1000 ); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

75 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

76 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random( 0,325 ); int x2 = Expo.random(0,1000); int y2 = Expo.random( 0,325 ); Expo.drawLine(g,x1,y1,x2,y2); }

77 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

78 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random( 325,650 ); int x2 = Expo.random(0,1000); int y2 = Expo.random( 325,650 ); Expo.drawLine(g,x1,y1,x2,y2); }

79 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

80 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random( 0,500 ); int y1 = Expo.random( 0,325 ); int x2 = Expo.random( 0,500 ); int y2 = Expo.random( 0,325 ); Expo.drawLine(g,x1,y1,x2,y2); }

81 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random(0,1000); int y1 = Expo.random(0,650); int x2 = Expo.random(0,1000); int y2 = Expo.random(0,650); Expo.drawLine(g,x1,y1,x2,y2); }

82 // Java0627.java // This program displays 1000 random lines. import java.awt.*; import java.applet.*; public class Java0627 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x1 = Expo.random( 500,1000 ); int y1 = Expo.random( 325,650 ); int x2 = Expo.random( 500,1000 ); int y2 = Expo.random( 325,650 ); Expo.drawLine(g,x1,y1,x2,y2); }

83 // Java0628.java // This program displays 1000 random colored solid circles. // All circles have a radius of 50. import java.awt.*; import java.applet.*; public class Java0628 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x = Expo.random(0,1000); int y = Expo.random(0,650); int red = Expo.random(0,255); int green = Expo.random(0,255); int blue = Expo.random(0,255); Expo.setColor(g,red,green,blue); Expo.fillCircle(g,x,y,50); }

84

85 // Java0629.java // This program displays 1000 random colored solid circles, with random radii. import java.awt.*; import java.applet.*; public class Java0629 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x = Expo.random(0,1000); int y = Expo.random(0,650); int red = Expo.random(0,255); int green = Expo.random(0,255); int blue = Expo.random(0,255); int radius = Expo.random(1,100); Expo.setColor(g,red,green,blue); Expo.fillCircle(g,x,y,radius); }

86

87 // Java0630.java // This program displays 1000 randomly colored equilateral triangles. // Creating random colors is also simplified with the setRandomColor method. import java.awt.*; import java.applet.*; public class Java0630 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x = Expo.random(0,1000); int y = Expo.random(0,650); int radius = Expo.random(1,100); int sides = 3; Expo.setRandomColor(g); Expo.fillRegularPolygon(g,x,y,radius,sides); }

88

89 // Java0631.java // This program displays 1000 randomly colored polygons with a random # of sides. import java.awt.*; import java.applet.*; public class Java0631 extends Applet { public void paint(Graphics g) { for (int k = 1; k <= 1000; k++) { int x = Expo.random(0,1000); int y = Expo.random(0,650); int radius = Expo.random(1,100); int sides = Expo.random(3,10); Expo.setRandomColor(g); Expo.fillRegularPolygon(g,x,y,radius,sides); }

90


Download ppt "Review of Math Class Methods abssqrt minmax powround ceilfloor."

Similar presentations


Ads by Google