Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
2/25: the switch selection structure • looking at Interest.java – NumberFormat – Locale – JTextArea – use of postincrement – Math.pow( 1.0 + rate, year ) • switch multiple-selection structure Interest.java (pt.1) import java.text.NumberFormat; import java.util.Locale; import javax.swing.JOptionPane; import javax.swing.JTextArea; public class Interest { public static void main (String args[] ) { double amount, principal = 1000.0, rate = 0.05; NumberFormat moneyFormat = NumberFormat.getCurrencyInstance( Locale.US ); JTextArea outputTextArea = new JTextArea (); Interest.java (pt. 2) outputTextArea.setText ( "Year\tAmount on Deposit\n" ); for ( int year = 1; year <= 10; year++ ) { amount = principal * Math.pow ( 1.0 + rate, year ); outputTextArea.append ( year + "\t" + moneyFormat.format ( amount ) + "\n" ); } JOptionPane.showMessageDialog ( null , outputTextArea, "Compound Interest", JOptionPane.INFORMATION_MESSAGE ); System.exit ( 0 ); } } NumberFormat • A class that helps visually format number values: – Local settings – U.S. would print 1,450.00 but – France would print 1.450,00 • DecimalFormat is a subclass of NumberFormat • getCurrencyInstance is a method of this class to format currency values for a particular locale. Locale • There are many Locales possible. Ours is – Locale.US – Others: • Locale.GB (Great Britain) • Locale.VA (Vatican City) • Locale.TH (Thailand) • Locale.ZR (Zaire) • Complete list available at http://userpage.chemie.fuberlin.de/diverse/doc/ISO_3166.html Interest.java: JTextArea • JTextArea: a type of output area. • we create a new object ( outputTextArea ) as an instance of the class JTextArea: instantiation. • associated methods: – setText – set the Text of the JTextArea to some value. – append – means add onto the JTextArea some type of String output, similar to saying result = result + “\n” + x + “ dollars”; (EX) • View more info about JTextArea at java.sun.com Interest.java: use of postincrement • for ( int year = 1 ; year <= 10 ; year++ ) – would a change to a preincrement cause a changed output? – No, because it executes like it is the only thing happening in a statement: year++ ; Interest.java: Math.pow • Math.pow( 1.0 + rate, year ); – Math class method Math.pow( x , y ); y – calculates x to the y power: x – listed in the java.lang.Math library the switch multiple-selection structure • previously selection structures: if, if/else switch ( pizzaSlice ) { case 1: System.out.print ( "Take more" ); break; case 2: System.out.print ( “Just right” ); break; default: System.out.print ( "Have some pizza!" ); break; } switch multiple selection structure • consists of cases with labels, including the default case • break exits the structure • controlling variable’s value – compared to each case label – if no match, the default case is executed • can only handle integers Today’s Program: p. 211 SwitchTest • after you get it to work, modify the program: – Ask first for a color ( pick 3 colors: black, blue, cyan, darkGray, gray, lightGray, green, magenta, orange, pink, red, white, yellow ) to use in the next step. You must import the java.awt.Color class. Use the following statement example to set the color: g.setColor ( Color.yellow ); – Then ask the user for their choice of lines, hollow rectangles, filled rectangles, hollow ovals, and filled ovals. applicable methods: drawLine, drawRect, fillRect, drawOval, fillOval.