Reading input from the console input - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Reading input from the console input

Description:

Java's console input A Java program can obtains inputs from the console through the keyboard In other ... Prompting user for input The previous program works, ... – PowerPoint PPT presentation

Number of Views:116
Avg rating:3.0/5.0
Slides: 28
Provided by: Natha151
Category:

less

Transcript and Presenter's Notes

Title: Reading input from the console input


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.in represents 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/ap
    i/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/Cou
    rses/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)

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
  • After having constructed the Scanner object named
    in, you can use the following expression to read
    a floating point number from the keyboard
  • You must save (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
  • Programming Example ABC 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
18
Reading in a floating point number from the
keyboard (cont.)
x1 ( -b - Math.sqrt( bb - 4ac ) ) / (2a)
x2 ( -b Math.sqrt( bb - 4ac ) ) / (2a)
  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("E
nter b ") b in.nextDouble() // Read in
next number and store in b System.out.print("Ente
r c ") c in.nextDouble() // Read in
next number and store in c x1 ( -b -
Math.sqrt( bb - 4ac ) ) / (2a) x2 ( -b
Math.sqrt( bb - 4ac ) ) / (2a)
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 !!!
Write a Comment
User Comments (0)
About PowerShow.com