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
Miscellaneous topics Chapter 2 Savitch Miscellaneous topics Standard output using System.out Input using Scanner class The standard System class System contains a number of interesting static methods. System.exit( 0 ); Terminates our program immediately long start = System.currentTimeMillis(); Useful for timing programs System.out and System.in The standard output and input streams See http://java.sun.com/j2se/1.5.0/docs/api/jav a/lang/System.html Output and System.out System.out Static member (not a method) Type is PrintStream See http://java.sun.com/j2se/1.5.0/docs/api/java/io/ PrintStream.html Useful PrintStream methods: print() println() printf() print() and println() print() prints its argument println() prints its argument followed by a newline Ex. int i=12; String s = “sally”; System.out.println( i ); System.out.print( s + “ is “ + i + “ years old.” ); System.out.println(); printf and rounding What is the output of the following: class Test { public static void main ( String args[] ) { double d2 = 12.999999; System.out.printf( "%f %.2f \n\n", d2, d2 ); } } printf and rounding What is the output of the following: class Test { public static void main ( String args[] ) { double d2 = 12.999999; System.out.printf( "%f %.2f \n\n", d2, d2 ); } } 12.999999 13.00 printf() Format string examples: d = 12.00000; System.out.printf( “%010.2f %n”, d ); d = 12.99999999; System.out.printf( “%010.2f %n”, d ); printf() Useful for formatting other data types as well. int i = 22; System.out.printf( "%d %n", i ); System.out.printf( "%6d %n", i ); System.out.printf( "%06d %n", i ); System.out.printf( "%-6d %n", i ); System.out.printf( "%x %n", i ); printf() Useful for Strings too. String s = "sally"; System.out.printf( "%s eats here.%n", s ); System.out.printf( "%12s eats here.%n", s ); //exception thrown: //System.out.printf( "%012s eats here.%n", s ); System.out.printf( "%-12s eats here.%n", s ); More OO alternatives to printf() NumberFormat DecimalFormat Input, System.in, and the Scanner class Scanner class Note that System.in is of type InputStream (see http://java.sun.com/j2se/1.5.0/docs/api/jav a/io/InputStream.html). And the InputStream can only read arrays of bytes! How can we read ints, floats, doubles, etc.? Use the Scanner class. Scanner class import java.util.Scanner; class Tester { public static void main ( String params[] ) { Scanner kbd = new Scanner( System.in ); … } } Scanner class Scanner kbd = new Scanner( System.in ); System.out.println( “Enter weight and age” ); int weight = kbd.nextInt(); int age = kbd.nextInt(); System.out.println( “Thanks.” ); Some useful Scanner class methods nextInt() nextLong() nextByte() nextShort() nextDouble() nextFloat() hasNextInt() hasNextLong() hasNextByte() hasNextShort() hasNextDouble() hasNextFloat() More useful scanner class methods nextBoolean() (and hasNextBoolean()) Response should be either true or false next() (and hasNext()) Returns a string of the next characters up to but not including the next whitespace character nextLine() (and hasNextLine()) Returns a string of the next characters upt to but not including the next newline character Exercises on p. 91