Download Miscellaneous topics

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
Related documents