Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*************************************************************************
- * Compilation: javac StdOut.java
- * Execution: java StdOut
- *
- * Writes data of various types to standard output.
- *
- *************************************************************************/
- import java.io.OutputStreamWriter;
- import java.io.PrintWriter;
- import java.io.UnsupportedEncodingException;
- import java.util.Locale;
- /**
- * <i>Standard output</i>. This class provides methods for writing strings
- * and numbers to standard output.
- * <p>
- * For additional documentation, see <a href="http://introcs.cs.princeton.edu/15inout">Section 1.5</a> of
- * <i>Introduction to Programming in Java: An Interdisciplinary Approach</i> by Robert Sedgewick and Kevin Wayne.
- */
- public final class StdOut {
- // force Unicode UTF-8 encoding; otherwise it's system dependent
- private static final String UTF8 = "UTF-8";
- // assume language = English, country = US for consistency with StdIn
- private static final Locale US_LOCALE = new Locale("en", "US");
- // send output here
- private static PrintWriter out;
- // this is called before invoking any methods
- static {
- try {
- out = new PrintWriter(new OutputStreamWriter(System.out, UTF8), true);
- }
- catch (UnsupportedEncodingException e) { System.out.println(e); }
- }
- // singleton pattern - can't instantiate
- private StdOut() { }
- // close the output stream (not required)
- /**
- * Close standard output.
- */
- public static void close() {
- out.close();
- }
- /**
- * Terminate the current line by printing the line separator string.
- */
- public static void println() {
- out.println();
- }
- /**
- * Print an object to standard output and then terminate the line.
- */
- public static void println(Object x) {
- out.println(x);
- }
- /**
- * Print a boolean to standard output and then terminate the line.
- */
- public static void println(boolean x) {
- out.println(x);
- }
- /**
- * Print a char to standard output and then terminate the line.
- */
- public static void println(char x) {
- out.println(x);
- }
- /**
- * Print a double to standard output and then terminate the line.
- */
- public static void println(double x) {
- out.println(x);
- }
- /**
- * Print a float to standard output and then terminate the line.
- */
- public static void println(float x) {
- out.println(x);
- }
- /**
- * Print an int to standard output and then terminate the line.
- */
- public static void println(int x) {
- out.println(x);
- }
- /**
- * Print a long to standard output and then terminate the line.
- */
- public static void println(long x) {
- out.println(x);
- }
- /**
- * Print a short to standard output and then terminate the line.
- */
- public static void println(short x) {
- out.println(x);
- }
- /**
- * Print a byte to standard output and then terminate the line.
- */
- public static void println(byte x) {
- out.println(x);
- }
- /**
- * Flush standard output.
- */
- public static void print() {
- out.flush();
- }
- /**
- * Print an Object to standard output and flush standard output.
- */
- public static void print(Object x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a boolean to standard output and flush standard output.
- */
- public static void print(boolean x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a char to standard output and flush standard output.
- */
- public static void print(char x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a double to standard output and flush standard output.
- */
- public static void print(double x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a float to standard output and flush standard output.
- */
- public static void print(float x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print an int to standard output and flush standard output.
- */
- public static void print(int x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a long to standard output and flush standard output.
- */
- public static void print(long x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a short to standard output and flush standard output.
- */
- public static void print(short x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a byte to standard output and flush standard output.
- */
- public static void print(byte x) {
- out.print(x);
- out.flush();
- }
- /**
- * Print a formatted string to standard output using the specified
- * format string and arguments, and flush standard output.
- */
- public static void printf(String format, Object... args) {
- out.printf(US_LOCALE, format, args);
- out.flush();
- }
- /**
- * Print a formatted string to standard output using the specified
- * locale, format string, and arguments, and flush standard output.
- */
- public static void printf(Locale locale, String format, Object... args) {
- out.printf(locale, format, args);
- out.flush();
- }
- // This method is just here to test the class
- public static void main(String[] args) {
- // write to stdout
- StdOut.println("Test");
- StdOut.println(17);
- StdOut.println(true);
- StdOut.printf("%.6f\n", 1.0/7.0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement