0% found this document useful (0 votes)
43 views

5 Building Java Programs

The document covers how to use Scanners to get user input in Java programs. Scanners read input tokens separated by whitespace from System.in and methods like nextInt() parse the tokens as primitive types. An example shows prompting a user for their age

Uploaded by

Skirk Fallen
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

5 Building Java Programs

The document covers how to use Scanners to get user input in Java programs. Scanners read input tokens separated by whitespace from System.in and methods like nextInt() parse the tokens as primitive types. An example shows prompting a user for their age

Uploaded by

Skirk Fallen
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

GETTING INPUT FROM THE

KEYBOARD
1. Scanners
2. BufferedReader
3. JOption Pane
Using Scanners
Interactive programs
• We have written programs that print console output, but it is also
possible to read input from the console.
• The user types input into the console. We capture the input and use it in our
program.
• Such a program is called an interactive program.

• Interactive programs can be challenging.


• Computers and users think in very different ways.
• Users misbehave.
Input and System.in
• System.out
• An object with methods named println and print

• System.in
• not intended to be used directly
• We use a second object, from a class Scanner, to help us.

• Constructing a Scanner object to read console input:


Scanner name = new Scanner(System.in);
• Example:
Scanner console = new Scanner(System.in);
Java class libraries, import
• Java class libraries: Classes included with Java's JDK.
• organized into groups named packages
• To use a package, put an import declaration in your program.

• Syntax:
// put this at the very top of your program
import packageName.*;

• Scanner is in a package named java.util


import java.util.*;

• To use Scanner, you must place the above line at the top of your program (before
the public class header).
Scanner methods
Method Description
nextInt() reads a token of user input as an int
nextDouble() reads a token of user input as a double
next() reads a token of user input as a String
nextLine() reads a line of user input as a String

• Each method waits until the user presses Enter.


• The value typed is returned.

System.out.print("How old are you? "); // prompt


int age = console.nextInt();
System.out.println("You'll be 40 in " +
(40 - age) + " years.");
• prompt: A message telling the user what input to type.
Example Scanner usage
import java.util.*; // so that I can use Scanner
public class ReadSomeInput {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);

System.out.print("How old are you? ");


int age = console.nextInt();
System.out.println(age + "... That's quite old!");
}
}

• Output (user input underlined):


How old are you? 14
14... That's quite old!
Another Scanner example
import java.util.*; // so that I can use Scanner
public class ScannerSum {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("Please type three numbers: ");
int num1 = console.nextInt();
int num2 = console.nextInt();
int num3 = console.nextInt();
int sum = num1 + num2 + num3;
System.out.println("The sum is " + sum);
}
}

• Output (user input underlined):


Please type three numbers: 8 6 13
The sum is 27

• The Scanner can read multiple values from one line.


Input tokens
• token: A unit of user input, as read by the Scanner.
• Tokens are separated by whitespace (spaces, tabs, newlines).
• How many tokens appear on the following line of input?
23 John Smith 42.0 "Hello world" $2.50 " 19"

• When a token is not the type you ask for, it crashes.


System.out.print("What is your age? ");
int age = console.nextInt();
Output:
What is your age? Timmy
java.util.InputMismatchException
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
...
Using BufferedReaders
Using JOptionPane
Exercises 1 (Individual) : Submit to EDMODO
Scanner BufferedReader JOptionPane
Input 3 words:
Hello
First Name
Last Name
1 2 3
Printing all three words:
Hello First Name Last Name

Input 5 random integers:


6
4
10
4 5 6
20
1

Printing the sum of the


integers:
31
Number 1: Using Scanner
CODE SAMPLE OUTPUT

You might also like