Reading input from the console input Javas console

  • Slides: 27
Download presentation
Reading input from the console input

Reading input from the console input

Java's console input • The console is the terminal window that is running the

Java's console input • The console is the terminal window that is running the Java program I. e. , that's the terminal window where you type in the command java Program. Name

Java's console input • When a Java program starts running, the Java runtime system

Java's console input • When a Java program starts running, the Java runtime system will initialize many variables in support for the running program. One of these variables is the Java system variable: System. i n which represents the console input The variable System. in is included in every Java program (you don't need to define it).

Java's console input • A Java program can obtains inputs from the console through

Java's console input • A Java program can obtains inputs from the console through the keyboard • In other words: • The Java system variable System. in represents the keyboard

A note on the notation "System. in" • At this moment in the course,

A note on the notation "System. in" • At this moment in the course, we want to learn how to read input from the keyboard All you need to know is: • The variable named System. in represents the keyboard • It is too early in the course to explain the notation System. in • We will explain this after we have covered classes

Java's Scanner library functions • Fact: • There is a lot of work that

Java's Scanner library functions • Fact: • There is a lot of work that the computer must do to read in a floating point number • The details of what the computer must do to read in a number will be discussed in CS 255 • The Java programming language provides a collection of methods stored in the Scanner class that perform read operations (Remember that a class is a container for methods)

Java's Scanner library functions (cont. ) • Webpage of the Java documentation on Scanner

Java's Scanner library functions (cont. ) • Webpage of the Java documentation on Scanner class: http: //download. oracle. com/javase/6/docs/api/java/util/Sca nner. html

Java's Scanner library functions (cont. ) • We will now learn how to use

Java's Scanner library functions (cont. ) • We will now learn how to use the methods in the Scanner class to read in floating point numbers

Importing the Scanner class definition • Recall the Rule of usage of methods in

Importing the Scanner class definition • Recall the Rule of usage of methods in the Java library: (See: http: //mathcs. emory. edu/~cheung/Courses/170/Syllabus/04 /java-lib. html) • If a Java program wants to use a method in the Java library, the Java program must first import the containing class • All classes in the java. lang package have already been imported into a Java program (You can use methods in these classes without the import clause)

Importing the Scanner class definition (cont. ) • We can use the following import

Importing the Scanner class definition (cont. ) • We can use the following import clause to import the Scanner class: import java. util. Scanner;

Preparation before we can read input from the keyboard • Before a Java program

Preparation before we can read input from the keyboard • Before a Java program can read input from the keyboard, the program must " construct a Scanner object It is too early to explain what this means. . . I will only tell you how to do it

Preparation before we can read input from the keyboard (cont. ) • A Scanner

Preparation before we can read input from the keyboard (cont. ) • A Scanner object is constructed using the following statement: Scanner var. Name = new Scanner(System. in); The name var. Name is an identifier Example: constructing a Scanner object named in Scanner in = new Scanner(System. in);

Reading in a floating point number from the keyboard • After having constructed the

Reading in a floating point number from the keyboard • After having constructed the Scanner object named in, you can use the following expression to read a floating point number from the keyboard: in. next. Double() You must save (store) the number read in by "in. next. Double()" in a variable with an assignment statement

Reading in a floating point number from the keyboard (cont. ) • What happens

Reading in a floating point number from the keyboard (cont. ) • What happens inside the computer: • Just like Math. sqrt(. . ), the method call in. next. Double() will invoke (run) a method in Java's library. The task performed by in. next. Double() is to read a floating point number from the keyboard:

Reading in a floating point number from the keyboard (cont. ) If you type

Reading in a floating point number from the keyboard (cont. ) If you type in "3. 5" on the keyboard at the time that in. next. Double() is running, then the call will return the value 3. 5 • The return value will replace the method call: The input value 3. 5 is then stored in the variable a !!!

Summary: steps to read in a floating point number • This figure summarizes the

Summary: steps to read in a floating point number • This figure summarizes the programming steps to read in a floating point number:

Example: reading input for the a, b, c-formula • Programming Example: ABC formula import

Example: reading input for the a, b, c-formula • Programming Example: ABC formula import java. util. Scanner; // Import Scanner class (contains methods // for reading keyboard input) public class Abc 2 { public static void main(String[] args) { double a, b, c, x 1, x 2; // Define 5 variable Scanner in = new Scanner(System. in); // Construct a Scanner object a = in. next. Double(); // Read in next number and store in a b = in. next. Double(); // Read in next number and store in b c = in. next. Double(); // Read in next number and store in c

Reading in a floating point number from the keyboard (cont. ) x 1 =

Reading in a floating point number from the keyboard (cont. ) x 1 = ( -b - Math. sqrt( b*b - 4*a*c ) ) / (2*a); x 2 = ( -b + Math. sqrt( b*b - 4*a*c ) ) / (2*a); System. out. print("a = "); System. out. println(a); System. out. print("b = "); System. out. println(b); System. out. print("c = "); System. out. println(c); System. out. print("x 1 = "); System. out. println(x 1); System. out. print("x 2 = "); System. out. println(x 2); } }

Reading in a floating point number from the keyboard (cont. ) • Example Program:

Reading in a floating point number from the keyboard (cont. ) • Example Program: (Demo above code) – Prog file: http: //mathcs. emory. edu/~cheung/Courses/170/Syllabus/04/Progs/ Abc 2. java • How to run the program: • Right click on link and save in a scratch directory • To compile: javac Abc 2. java • To run: java Abc 2

Good programming practice: Prompting user for input • The previous program works, but requires

Good programming practice: Prompting user for input • The previous program works, but requires the users to know exactly what to do In other words: • An unaware user may not know that he/she needs to enter some input before the program can perform its task.

Good programming practice: Prompting user for input (cont. ) • Good programming courtesy: •

Good programming practice: Prompting user for input (cont. ) • Good programming courtesy: • When the program needs the user to enter input from the keyboard, it must print out a (short) prompt message

Good programming practice: Prompting user for input (cont. ) • Example import java. util.

Good programming practice: Prompting user for input (cont. ) • Example import java. util. Scanner; // Import Scanner class (contains methods // for reading keyboard input) public class Abc 2 { public static void main(String[] args) { double a, b, c, x 1, x 2; // Define 5 variable Scanner in = new Scanner(System. in); // Construct a Scanner object

Good programming practice: Prompting user for input (cont. ) System. out. print("Enter a =

Good programming practice: Prompting user for input (cont. ) System. out. print("Enter a = "); // ******* Prompt message a = in. next. Double(); // Read in next number and store in a System. out. print("Enter b = "); b = in. next. Double(); // Read in next number and store in b System. out. print("Enter c = "); c = in. next. Double(); // Read in next number and store in c x 1 = ( -b - Math. sqrt( b*b - 4*a*c ) ) / (2*a); x 2 = ( -b + Math. sqrt( b*b - 4*a*c ) ) / (2*a); System. out. print("a = "); System. out. println(a); System. out. print("b = "); System. out. println(b); System. out. print("c = "); System. out. println(c); System. out. print("x 1 = "); System. out. println(x 1); System. out. print("x 2 = "); System. out. println(x 2); } }

Reading other types of input from the keyboard • The procedure to read other

Reading other types of input from the keyboard • The procedure to read other types of inputs from the keyboard is similar to the one above:

Reading other types of input from the keyboard (cont. ) • The only different

Reading other types of input from the keyboard (cont. ) • The only different is that we need to use a different method in the Scanner class that read the correct type of data.

Reading other types of input from the keyboard (cont. ) • Reading an integer

Reading other types of input from the keyboard (cont. ) • Reading an integer number from the keyboard: use next. Int()

Reading other types of input from the keyboard (cont. ) • Note: you also

Reading other types of input from the keyboard (cont. ) • Note: you also need to use an int typed variable to store an integer value !!!