Discussion:
Reading different types of console inputs in Java
(too old to reply)
Proud Japanese
2011-06-13 05:31:33 UTC
Permalink
Hello,

I am a Java newbie and I am trying to see how to read different types
of console inputs in Java (int, float, string etc.). I have found the
following code snippet at wikianswers (http://wiki.answers.com/Q/
How_do_you_accept_an_integer_or_a_float_or_double_value_as_a_console_input_from_user_in_java_also_you_do_want_to_use_command_line_arguments):

Is this the best way to realize what I am trying to do, or is there a
simpler, less verbose way (similar to the ">>" streaming operator in C+
+)?

Thanks,
Hayato



// ------------ Code snippet begin ------------

// create an BufferedReader from the standard input stream
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
String currentLine = "";

// read integers
System.out.print("Input an integer: ");
while (!(currentLine = in.readLine()).equals("")) {
int input = 0;
try {
input = Integer.parseInt(currentLine);
} catch (final NumberFormatException ex) {
System.out.println("That was not an integer.");
}

System.out.println("\tInteger read: " + input);
System.out.print("Input an integer: ");

}

// read floats
System.out.print("Input an float: ");
while (!(currentLine = in.readLine()).equals("")) {
float input = 0.0f;

try {
input = Float.parseFloat(currentLine);
} catch (final NumberFormatException ex) {
System.out.println("That was not an float.");
}

System.out.println("\tFloat read: " + input);
System.out.print("Input an float: ");

}

// read doubles
System.out.print("Input an double: ");
while (!(currentLine = in.readLine()).equals("")) {
double input = 0.0;
try {
input = Double.parseDouble(currentLine);
} catch (final NumberFormatException ex) {
System.out.println("That was not an double.");
}

System.out.println("\tDouble read: " + input);
System.out.print("Input an double: ");
}


// ------------ Code snippet end ------------
Roedy Green
2011-06-13 13:13:22 UTC
Permalink
On Sun, 12 Jun 2011 22:31:33 -0700 (PDT), Proud Japanese
Post by Proud Japanese
I am a Java newbie and I am trying to see how to read different types
of console inputs in Java (int, float, string etc.).
The FileIO Amanuensis will generate you code for various types of i/o
including to and from the console.

See http://mindprod.com/applet/fileio.html
--
Roedy Green Canadian Mind Products
http://mindprod.com
One of the great annoyances in programming derives from the irregularity
of English spelling especially when you have international teams.
I want to find a method or variable, but I don't know precisely
how its is spelled or worded. English is only approximately phonetic.
Letters are randomly doubled. The dictionary often lists variant spellings.
British, Canadian and American spellings differ.I would like to see an
experiment where variable names were spelled in a simplified English, where
there were no double letters.I also think you could add a number of rules
about composing variable names so that a variable name for something would
be highly predictable. You would also need automated enforcement of the
rules as well as possible.
markspace
2011-06-13 15:55:04 UTC
Permalink
Post by Proud Japanese
Is this the best way to realize what I am trying to do, or is there a
simpler, less verbose way (similar to the ">>" streaming operator in C+
+)?
I think the Scanner class is simpler:

<http://download.oracle.com/javase/tutorial/essential/io/scanning.html>

Just be sure to use System.in instead of the BufferedReader/FileReader
combo they're using to read console input.

You might also want to check the docs for the Java Console class:

<http://download.oracle.com/javase/6/docs/api/java/io/Console.html>
Continue reading on narkive:
Loading...