Interactive Programs and Input/Output in Java

 
C
H
A
P
T
E
R
 
5
 
G
C
 
1
0
1
 
Input & Output
 
1
 
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.
 
2
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);
3
 
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.*;
   import java.util.
Scanner
;
To use 
Scanner
, you must place the above line at the top of your program (before the 
public class
header).
 
4
SCANNER
 METHODS
 
 
 
 
 
 
 
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.
5
 
COMMON SCANNER METHODS
 
Method
   
Example
      Scanner input = new Scanner (System.in);
nextDouble( )
  
double d = input.nextDouble( );
nextFloat( )
  
float f = input.nextFloat( );
nextInt( )
   
int i = input.nextInt( );
next()                
 
String str = input.next();
 
6
 
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!
 
7
 
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.
 
8
 
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)
 
        ...
 
9
 
E
X
A
M
P
L
E
import
 java.util.Scanner;
 
public
 
class
 TestInput {
 
public
 
static
 
void
 main(String[] args) {
 
Scanner input ;
 
   
int
 area ,length, width;
 
 input = 
new
 Scanner (System.in); 
// creating an instance
 
 
 System.out.println("enter the length ");
 
 length = input.nextInt(); 
//reading the length from the keyboard
 
 
 System.out.println("Enter the Width ");
 
 width = input.nextInt(); 
//reading the width from the keyboard
 
  
area = length * width ;
 
  
System.out.println("the length is "+ length);
  
System.out.println("the width is "+ width);
  
System.out.println("the area is "+ area);
 
 
}
}
 
10
 
O
U
T
P
U
T
 
enter the length
2
Enter the Width
3
the length is 2
the width is 3
the area is 6
 
11
12
INPUT
1.
import java.util.*;
2.
public class Example2_16
3.
{
4.
  
static Scanner console = new  Scanner(System.in);
5.
  public static void main(String[] args)
6.
    {
7.
   
 
 int feet;
8.
     int inches;
9.
     System.out.println("
Enter two integers separated by spaces
.");
10.
     
feet = console.nextInt();     
// reads int
11.
     inches = console.nextInt();   
// reads int
12.
     System.out.println("Feet = " + feet);
13.
     System.out.println("Inches = " + inches);
14.
    }
15.
}
Required to use the class Scanner
13
I
N
P
U
T
Enter two integers separated by spaces.
> 23 7
Feet = 23
Inches = 7
 
If the user enters a non integer number for example 
24w5
 or 
3.4 
console.nextInt()
 will cause a program termination.
 
14
 
INPUT
 
1.
import java.util.*;
2.
public class Example2_17
3.
{
4.
   static Scanner console = new Scanner(System.in);
5.
   public static void main(String[] args)
6.
    {
7.
    String firstName;
8.
    String lastName;
9.
    int age;
10.
    double weight;
11.
12.
    System.out.println("Enter first name, last name, "
13.
                       +"age, and weight separated by spaces.");
14.
15.
    
firstName = console.next();
16.
    lastName = console.next();
17.
 
   
age = console.nextInt();
18.
    weight = console.nextDouble();
19.
20.
    System.out.println("Name: " + firstName + " " + lastName);
21.
    System.out.println("Age: " + age);
22.
    System.out.println("Weight: " + weight);
23.
    }
24.
}
 
15
Enter first name, last name, age, and weight separated by spaces.
> Sheila Mann 23 120.5
Name: Sheila Mann
Age: 23
Weight: 120.5
Slide Note
Embed
Share

Interactive programs in Java allow users to input data through the console, which can be captured and used in the program. This involves using the Scanner class to read user input, and understanding common Scanner methods to process different types of input. Importing Java class libraries is essential for using classes like Scanner effectively. A comprehensive overview of input/output mechanisms in Java is provided in this document.

  • Java programming
  • Interactive programs
  • Input/output
  • Scanner class
  • Java libraries

Uploaded on Sep 08, 2024 | 2 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. CHAPTER 5 GC 101 Input & Output 1

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

  3. 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); 3

  4. 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.*; import java.util.Scanner; To use Scanner, you must place the above line at the top of your program (before the public class header). 4

  5. SCANNER METHODS Method Description reads a token of user input as an int reads a token of user input as a double reads a token of user input as a String reads a line of user input as a String nextInt() nextDouble() next() nextLine() 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."); 5 prompt: A message telling the user what input to type.

  6. COMMON SCANNER METHODS Method Scanner input = new Scanner (System.in); nextDouble( ) double d = input.nextDouble( ); nextFloat( ) float f = input.nextFloat( ); nextInt( ) int i = input.nextInt( ); next() String str = input.next(); Example 6

  7. 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 7 14... That's quite old!

  8. 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 8 The Scanner can read multiple values from one line.

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

  10. import java.util.Scanner; public class TestInput { EXAMPLE public static void main(String[] args) { Scanner input ; int area ,length, width; input = new Scanner (System.in); // creating an instance System.out.println("enter the length "); length = input.nextInt(); //reading the length from the keyboard System.out.println("Enter the Width "); width = input.nextInt(); //reading the width from the keyboard area = length * width ; System.out.println("the length is "+ length); System.out.println("the width is "+ width); System.out.println("the area is "+ area); 10 } }

  11. OUTPUT enter the length 2 Enter the Width 3 the length is 2 the width is 3 the area is 6 11

  12. INPUT 1. import java.util.*; Required to use the class Scanner 2. public class Example2_16 3. { 4. static Scanner console = new Scanner(System.in); 5. public static void main(String[] args) 6. { 7. int feet; 8. int inches; 9. System.out.println("Enter two integers separated by spaces."); 10. feet = console.nextInt(); // reads int 11. inches = console.nextInt(); // reads int 12. System.out.println("Feet = " + feet); 13. System.out.println("Inches = " + inches); 14. } 15. } 12

  13. INPUT Enter two integers separated by spaces. > 23 7 Feet = 23 Inches = 7 If the user enters a non integer number for example 24w5 or 3.4 console.nextInt() will cause a program termination. 13

  14. import java.util.*; 1. public class Example2_17 2. { 3. INPUT 5. public static void main(String[] args) static Scanner console = new Scanner(System.in); 4. { 6. String firstName; 7. String lastName; 8. int age; 9. 10. double weight; 11. 12. System.out.println("Enter first name, last name, " 13. +"age, and weight separated by spaces."); 14. 15.firstName = console.next(); 16. lastName = console.next(); 17. age = console.nextInt(); 18. weight = console.nextDouble(); 19. 20. System.out.println("Name: " + firstName + " " + lastName); 21. System.out.println("Age: " + age); 14 22. System.out.println("Weight: " + weight); 23. } 24. }

  15. Enter first name, last name, age, and weight separated by spaces. > Sheila Mann 23 120.5 Name: Sheila Mann Age: 23 Weight: 120.5 15

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#