1 / 27

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 program I.e., that's the terminal window where you type in the command java ProgramName. Java's console input.

kirby
Download Presentation

Reading input from the console input

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reading input from the console input

  2. 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 ProgramName

  3. 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: which represents the console input The variable System.in is included in every Java program (you don't need to define it). System.in

  4. 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

  5. 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: • It is too early in the course to explain the notation System.in • We will explain this after we have covered classes • The variable named System.inrepresents the keyboard

  6. Java's Scanner library functions • Fact: • The details of what the computer must do to read in a number will be discussed in CS255 • 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) • There is a lot of work that the computer must do to read in a floating point number

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

  8. 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

  9. 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 firstimport 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)

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

  11. 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

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

  13. Reading in a floating point number from the keyboard • Afterhaving constructed the Scanner object named in, you can use the following expression to read a floating point number from the keyboard: You mustsave (store) the number read in by "in.nextDouble()" in a variable with an assignment statement in.nextDouble()

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

  15. Reading in a floating point number from the keyboard (cont.) If you type in "3.5" on the keyboard at the time that in.nextDouble() 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 !!!

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

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

  18. Reading in a floating point number from the keyboard (cont.) x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -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("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } }

  19. 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/Abc2.java  • How to run the program: • Right click on link and save in a scratch directory • To compile:   javac Abc2.java • To run:          java Abc2

  20. 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.

  21. 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

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

  23. Good programming practice: Prompting user for input (cont.) System.out.print("Enter a = "); // ******* Prompt message a = in.nextDouble(); // Read in next number and store in a System.out.print("Enter b = "); b = in.nextDouble(); // Read in next number and store in b System.out.print("Enter c = "); c = in.nextDouble(); // Read in next number and store in c x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -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("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } }

  24. 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:

  25. 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.

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

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

More Related