📖 Scenario: Imagine you want to create a simple Java program that asks a user for their name and then greets them. To do this, the program needs to get information from the user (input) and then show a message back (output).
🎯 Goal: Build a Java program that takes a user's name as input and then prints a greeting message using that name.
📋 What You'll Learn
Use Scanner to get input from the user
Store the input in a variable called name
Print a greeting message that includes the name
💡 Why This Matters
🌍 Real World
Many programs need to ask users questions and show answers, like calculators, games, or websites.
💼 Career
Understanding input and output is a basic skill for any programmer to create interactive applications.
Progress0 / 4 steps
1
Set up Scanner to read input
Write the line to create a Scanner object called scanner to read input from System.in.
Java
Hint
Use Scanner scanner = new Scanner(System.in); to read input from the keyboard.
2
Read the user's name
Write the line to read a line of text from the user using scanner.nextLine() and store it in a variable called name.
Java
Hint
Use String name = scanner.nextLine(); to get the full line of input as the user's name.
3
Create the greeting message
Write the line to create a String variable called greeting that stores the message "Hello, " plus the name plus "!" using string concatenation.
Java
Hint
Use String greeting = "Hello, " + name + "!"; to combine the greeting with the user's name.
4
Print the greeting message
Write the line to print the greeting variable to the console using System.out.println().
Java
Hint
Use System.out.println(greeting); to show the message on the screen.
Practice
(1/5)
1. Why do Java programs need input from users?
easy
A. To run faster without errors
B. To display messages on the screen
C. To store data permanently on the computer
D. To get information that the program can use to make decisions or calculations
Solution
Step 1: Understand the role of input
Input allows the program to receive data from the user, which it can use to perform tasks or calculations.
Step 2: Differentiate input from output
Output is for showing results, not for receiving data. Storing data or running faster are unrelated to input.
Final Answer:
To get information that the program can use to make decisions or calculations -> Option D
Quick Check:
Input = Get user data [OK]
Hint: Input means getting data from user, not showing it [OK]
Common Mistakes:
Confusing input with output
Thinking input stores data permanently
Believing input makes program faster
2. Which of the following is the correct way to get input from the user in Java?
easy
A. System.out.println("Enter number:"); int number = input.nextInt();
B. Scanner input = new Scanner(System.in); int number = input.nextInt();
C. int number = System.in.read();
D. input = new Scanner(System.out); int number = input.nextInt();
Solution
Step 1: Identify correct Scanner usage
Creating a Scanner with System.in and calling nextInt() reads an integer from user input.
Step 2: Check other options for errors
System.out.println("Enter number:"); int number = input.nextInt(); misses Scanner creation; int number = System.in.read(); uses System.in.read() which reads bytes, not int properly; input = new Scanner(System.out); int number = input.nextInt(); wrongly uses System.out for Scanner.
Final Answer:
Scanner input = new Scanner(System.in); int number = input.nextInt(); -> Option B
Quick Check:
Use Scanner with System.in for input [OK]
Hint: Use Scanner with System.in to read input in Java [OK]
Common Mistakes:
Using System.out instead of System.in for Scanner
Forgetting to create Scanner object
Using System.in.read() incorrectly for integers
3. What will be the output of this Java code?
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter your age: ");
int age = sc.nextInt();
System.out.println("You are " + age + " years old.");
}
}
Input given by user: 25
medium
A. You are 25 years old.
B. You are age years old.
C. Enter your age: 25
D. Enter your age: You are 25 years old.
Solution
Step 1: Understand the input prompt and reading
The program prints "Enter your age: " and waits for user input, which is 25.
Step 2: Understand output after input
After reading 25, it prints "You are 25 years old." on the next line.
Final Answer:
You are 25 years old. -> Option A
Quick Check:
Output line = You are 25 years old. [OK]
Hint: Output includes prompt and result together [OK]
Common Mistakes:
Ignoring the prompt message
Assuming input is printed automatically
Confusing output lines
4. Find the error in this Java code that reads a number and prints it:
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter number: ");
int num = sc.nextLine();
System.out.println("Number is " + num);
}
}
medium
A. Missing semicolon after print statement
B. Scanner object is not created properly
C. Using nextLine() to read an int causes a type mismatch error
D. System.out.print should be System.out.println
Solution
Step 1: Check method used to read input
nextLine() returns a String, but the code tries to assign it to an int variable, causing a type error.
Step 2: Verify other parts of code
Scanner is created correctly; semicolons and print statements are correct.
Final Answer:
Using nextLine() to read an int causes a type mismatch error -> Option C
Quick Check:
nextLine() returns String, not int [OK]
Hint: Use nextInt() to read integers, not nextLine() [OK]
Common Mistakes:
Assigning String to int without conversion
Confusing nextLine() and nextInt()
Thinking print vs println causes error
5. You want to write a Java program that asks the user for two numbers, adds them, and shows the result. Which steps correctly explain why input and output are needed here?
hard
A. Input is needed to get the numbers from the user; output is needed to show the sum result
B. Input is needed to display the sum; output is needed to get numbers from the user
C. Input is not needed because numbers are fixed; output is needed to save the sum
D. Input and output are not needed because the program runs automatically
Solution
Step 1: Identify role of input in the program
The program needs input to receive the two numbers from the user to add them.
Step 2: Identify role of output in the program
Output is required to display the sum result back to the user so they can see it.
Final Answer:
Input is needed to get the numbers from the user; output is needed to show the sum result -> Option A
Quick Check:
Input = get numbers, Output = show sum [OK]
Hint: Input gets data; output shows results [OK]
Common Mistakes:
Mixing up input and output roles
Thinking input or output is unnecessary
Assuming program runs without user data
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.