Bird
Raised Fist0
Javaprogramming~15 mins

Output formatting basics in Java - Mini Project: Build & Apply

Choose your learning style10 modes available
Output formatting basics
📖 Scenario: You are creating a simple Java program to display a person's name and age in a clear and friendly way. This is like writing a small introduction card.
🎯 Goal: Build a Java program that stores a person's name and age, then prints a formatted sentence introducing the person.
📋 What You'll Learn
Create a variable for the person's name
Create a variable for the person's age
Use System.out.printf to print the formatted output
💡 Why This Matters
🌍 Real World
Output formatting is used in many programs to show information clearly, like printing reports, messages, or user data.
💼 Career
Knowing how to format output is a basic skill for software developers, especially when creating user interfaces or logs.
Progress0 / 4 steps
1
Create variables for name and age
Create a String variable called name and set it to "Alice". Create an int variable called age and set it to 30.
Java
Hint

Use String name = "Alice"; and int age = 30; inside the main method.

2
Add a format string
Create a String variable called format and set it to "My name is %s and I am %d years old.".
Java
Hint

Use String format = "My name is %s and I am %d years old."; to prepare the format.

3
Print formatted output using printf
Use System.out.printf with the format string, passing name and age as arguments.
Java
Hint

Use System.out.printf(format, name, age); to print the formatted sentence.

4
Print a newline after the formatted output
Add System.out.println() after the printf line to move to the next line.
Java
Hint

Use System.out.println(); to print a newline after the formatted text.

Practice

(1/5)
1. Which Java method is commonly used to format output with placeholders like %d or %s?
easy
A. System.out.read
B. System.out.printf
C. System.out.println
D. System.out.print

Solution

  1. Step 1: Identify formatting methods in Java

    System.out.printf and System.out.format are used for formatted output, unlike println or print which just print raw text.
  2. Step 2: Recognize the method that uses placeholders

    System.out.printf uses format specifiers like %d for integers and %s for strings to format output.
  3. Final Answer:

    System.out.printf -> Option B
  4. Quick Check:

    Formatted output uses printf [OK]
Hint: Look for method with % placeholders for formatting [OK]
Common Mistakes:
  • Confusing println with printf
  • Using print which lacks formatting
  • Thinking read formats output
2. Which of the following is the correct syntax to print an integer variable num with two digits padded with zeros using printf?
easy
A. System.out.printf("%02d", num);
B. System.out.printf("%2d", num);
C. System.out.printf("%d2", num);
D. System.out.printf("%d02", num);

Solution

  1. Step 1: Understand zero-padding format specifier

    In printf, %02d means print an integer padded with zeros to width 2.
  2. Step 2: Check each option's correctness

    %2d pads with spaces, %02d pads with zeros, %d2 and %d02 are invalid formats.
  3. Final Answer:

    System.out.printf("%02d", num); -> Option A
  4. Quick Check:

    Zero padding uses %0Nd [OK]
Hint: Zero pad with %0 before width number [OK]
Common Mistakes:
  • Using %2d pads with spaces, not zeros
  • Placing digits after %d incorrectly
  • Confusing padding syntax
3. What is the output of the following Java code?
int x = 7;
System.out.printf("Value: %4d!", x);
medium
A. Value: 7!
B. Value: 7 !
C. Value: 07!
D. Value:7!

Solution

  1. Step 1: Understand %4d formatting

    %4d means print integer right-aligned in a field width of 4 characters, padding with spaces on the left.
  2. Step 2: Apply formatting to value 7

    7 is one digit, so 3 spaces are added before it, resulting in " 7".
  3. Final Answer:

    Value: 7! -> Option A
  4. Quick Check:

    Right-align integer in 4 spaces [OK]
Hint: Width number pads spaces on left for integers [OK]
Common Mistakes:
  • Assuming padding is on the right
  • Confusing zero padding with space padding
  • Ignoring field width
4. The following code is intended to print a floating-point number with 2 decimal places:
double pi = 3.14159;
System.out.printf("%.2f", pi);
What is the error in this code?
medium
A. Missing newline character causes error.
B. %.2f is invalid format specifier for double.
C. No error; it prints 3.14 correctly.
D. Must cast pi to float before printing.

Solution

  1. Step 1: Check format specifier for double

    %.2f formats floating-point numbers with 2 decimal places, valid for double type.
  2. Step 2: Verify code correctness

    Code prints 3.14 without error; newline is optional and casting is unnecessary.
  3. Final Answer:

    No error; it prints 3.14 correctly. -> Option C
  4. Quick Check:

    %.2f formats double with 2 decimals [OK]
Hint: %.Nf formats float/double to N decimals [OK]
Common Mistakes:
  • Thinking casting to float is needed
  • Assuming newline is mandatory
  • Believing %.2f is invalid
5. You want to print a table of names and ages aligned in columns using printf. Which format string correctly aligns the name left in 10 spaces and age right in 3 spaces?
String name = "Anna";
int age = 9;
System.out.printf("???", name, age);
hard
A. "%-3s %-10d"
B. "%10s %-3d"
C. "%10s %3d"
D. "%-10s %3d"

Solution

  1. Step 1: Understand alignment flags in printf

    %-10s means left-align string in 10 spaces; %3d means right-align integer in 3 spaces.
  2. Step 2: Match format to requirement

    "%-10s %3d" matches left-align name and right-align age correctly; others swap or misalign.
  3. Final Answer:

    "%-10s %3d" -> Option D
  4. Quick Check:

    Left-align string with - flag, right-align number default [OK]
Hint: Use %- for left-align strings, default right-align numbers [OK]
Common Mistakes:
  • Swapping alignment flags
  • Using wrong width numbers
  • Misplacing % signs
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard