Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAPTER 5 GC 101 Input & Output 1. INTERACTIVE PROGRAMS  We have written programs that print console output, but it is also possible to read input from.

Similar presentations


Presentation on theme: "CHAPTER 5 GC 101 Input & Output 1. INTERACTIVE PROGRAMS  We have written programs that print console output, but it is also possible to read input from."— 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  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. MethodDescription 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 5

6 COMMON SCANNER METHODS  MethodExample 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

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

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

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 EXAMPLE 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

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

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

14 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 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


Download ppt "CHAPTER 5 GC 101 Input & Output 1. INTERACTIVE PROGRAMS  We have written programs that print console output, but it is also possible to read input from."

Similar presentations


Ads by Google