What class in Java is commonly used to read string input from the user?
The <strong>Scanner</strong> class is commonly used to read string input from the user in Java.
Click to reveal answer
beginner
How do you create a Scanner object to read input from the keyboard?
You create it with: Scanner scanner = new Scanner(System.in); This connects the Scanner to the keyboard input.
Click to reveal answer
beginner
Which Scanner method reads a whole line of text including spaces?
The method nextLine() reads the entire line of input including spaces until the user presses Enter.
Click to reveal answer
beginner
What happens if you use next() instead of nextLine() to read a string?
next() reads only the next word (up to the first space), not the whole line.
Click to reveal answer
intermediate
Why should you close the Scanner object after use?
Closing the Scanner with scanner.close(); frees system resources and avoids resource leaks.
Click to reveal answer
Which method reads a full line of user input including spaces?
Ainput()
Bnext()
CnextLine()
DreadLine()
✗ Incorrect
nextLine() reads the entire line including spaces until Enter is pressed.
How do you create a Scanner to read from the keyboard?
AScanner scanner = new Scanner(System.in);
BScanner scanner = new Scanner(System.out);
CScanner scanner = new Scanner(System.err);
DScanner scanner = new Scanner(System.in.read());
✗ Incorrect
You must use System.in to read input from the keyboard.
What does next() method read from input?
AThe next word (up to space)
BThe entire line
CThe next character
DNothing, it throws error
✗ Incorrect
next() reads the next token (word) separated by whitespace.
Why is it important to close a Scanner object?
ATo speed up input reading
BTo free system resources
CTo clear the input buffer
DIt is not important
✗ Incorrect
Closing Scanner frees resources and prevents resource leaks.
Which import statement is needed to use Scanner?
Aimport java.util.Input;
Bimport java.io.Scanner;
Cimport java.lang.Scanner;
Dimport java.util.Scanner;
✗ Incorrect
Scanner is part of the java.util package.
Explain how to read a full line of string input from the user in Java.
Think about connecting Scanner to keyboard and reading the entire line.
You got /3 concepts.
What is the difference between next() and nextLine() methods in Scanner?
Consider how spaces affect what each method reads.
You got /4 concepts.
Practice
(1/5)
1. What is the correct way to read a full line of text input from the user in Java?
easy
A. Use Scanner.nextLine() method
B. Use Scanner.nextInt() method
C. Use System.out.println() method
D. Use Scanner.read() method
Solution
Step 1: Understand Scanner methods
The Scanner class has different methods to read input. nextLine() reads the entire line as a string.
Step 2: Identify the correct method for full line input
nextInt() reads only integers, System.out.println() prints output, and Scanner.read() does not exist. So, nextLine() is correct.
Final Answer:
Use Scanner.nextLine() method -> Option A
Quick Check:
Read full line = nextLine() [OK]
Hint: Use nextLine() to read full text line input [OK]
Common Mistakes:
Using nextInt() to read strings
Confusing output methods with input
Forgetting to import Scanner
2. Which of the following is the correct syntax to create a Scanner object to read input from the keyboard?
easy
A. Scanner input = new Scanner(System.out);
B. Scanner input = new Scanner(System.file);
C. Scanner input = new Scanner(System.err);
D. Scanner input = new Scanner(System.in);
Solution
Step 1: Understand Scanner constructor
The Scanner constructor takes an InputStream to read from. System.in is the standard input stream (keyboard).
Step 2: Identify correct stream for keyboard input
System.out and System.err are output streams, and System.file does not exist. So, new Scanner(System.in) is correct.
Final Answer:
Scanner input = new Scanner(System.in); -> Option D
Quick Check:
Keyboard input = System.in [OK]
Hint: Use System.in to read keyboard input with Scanner [OK]
Common Mistakes:
Using System.out or System.err instead of System.in
Trying to read from non-existent System.file
Missing parentheses in Scanner constructor
3. What will be the output of the following Java code if the user inputs: Hello World
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String text = sc.nextLine();
System.out.println(text);
sc.close();
}
}
medium
A. Hello
B. Hello World
C. World
D. Compilation error
Solution
Step 1: Understand nextLine() behavior
The nextLine() method reads the entire line including spaces until the user presses Enter.
Step 2: Analyze the input and output
User inputs "Hello World" and presses Enter. The program reads the full line and prints it exactly.
Final Answer:
Hello World -> Option B
Quick Check:
nextLine() reads full line = Hello World [OK]
Hint: nextLine() reads entire line including spaces [OK]
Common Mistakes:
Assuming nextLine() reads only first word
Confusing next() with nextLine()
Forgetting to close Scanner
4. Identify the error in the following code snippet that reads a string input from the user:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name = sc.next();
System.out.println(name);
sc.close();
}
}
What is the problem if the user inputs "John Doe"?
medium
A. The program does not compile
B. The program throws a runtime exception
C. The program reads only "John" and ignores "Doe"
D. The program reads the full line "John Doe" correctly
Solution
Step 1: Understand difference between next() and nextLine()
next() reads input only until the first space, so it reads "John" only.
Step 2: Analyze input and output behavior
User inputs "John Doe" but next() stops at space, so "Doe" is ignored in this read.
Final Answer:
The program reads only "John" and ignores "Doe" -> Option C
Quick Check:
next() reads until space = partial input [OK]
Hint: Use nextLine() to read full input with spaces [OK]
Common Mistakes:
Using next() when full line is needed
Expecting next() to read multiple words
Not testing with multi-word input
5. You want to read multiple lines of user input until the user types "exit". Which code snippet correctly implements this using Scanner and nextLine()?
hard
A. Scanner sc = new Scanner(System.in);
String line;
do {
line = sc.nextLine();
System.out.println(line);
} while (!line.equals("exit"));
sc.close();
B. Scanner sc = new Scanner(System.in);
while (sc.nextLine() != "exit") {
System.out.println(sc.nextLine());
}
sc.close();
C. Scanner sc = new Scanner(System.in);
String line = sc.next();
while (!line.equals("exit")) {
System.out.println(line);
line = sc.next();
}
sc.close();
D. Scanner sc = new Scanner(System.in);
while (true) {
String line = sc.nextLine();
if (line == "exit") break;
System.out.println(line);
}
sc.close();
Solution
Step 1: Understand string comparison in Java
Use line.equals("exit") to compare strings, not ==.
Step 2: Analyze loop structure and input reading
Scanner sc = new Scanner(System.in);
String line;
do {
line = sc.nextLine();
System.out.println(line);
} while (!line.equals("exit"));
sc.close(); uses a do-while loop reading input once per iteration and compares correctly. Scanner sc = new Scanner(System.in);
while (sc.nextLine() != "exit") {
System.out.println(sc.nextLine());
}
sc.close(); reads twice per loop and uses != with strings (wrong). Scanner sc = new Scanner(System.in);
String line = sc.next();
while (!line.equals("exit")) {
System.out.println(line);
line = sc.next();
}
sc.close(); uses next() which reads only one word. Scanner sc = new Scanner(System.in);
while (true) {
String line = sc.nextLine();
if (line == "exit") break;
System.out.println(line);
}
sc.close(); uses == for string comparison (wrong).
Final Answer:
The do-while loop with equals("exit") -> Option A
Quick Check:
Use equals() and read once per loop [OK]
Hint: Use equals() for string compare and read input once per loop [OK]
Common Mistakes:
Using == instead of equals() for strings
Reading input multiple times per loop
Using next() instead of nextLine() for full lines
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.