📖 Scenario: You are creating a simple Java program that takes input values when it starts. These inputs are called arguments. They are like notes you pass to a friend before they begin a task.
🎯 Goal: Build a Java program that reads the first two arguments given when running the program and prints them out.
📋 What You'll Learn
Create a Java class named ArgumentPrinter
Access the first two command-line arguments using args[0] and args[1]
Print the two arguments on separate lines
💡 Why This Matters
🌍 Real World
Many Java programs take input from users or other programs when they start. These inputs help customize what the program does.
💼 Career
Understanding how to access and use command-line arguments is important for writing flexible Java applications and tools.
Progress0 / 4 steps
1
Create the Java class and main method
Write a Java class called ArgumentPrinter with a main method that accepts a String[] args parameter.
Java
Hint
Remember, the main method is the entry point of a Java program and must be public static void main(String[] args).
2
Access the first two arguments
Inside the main method, create two String variables named firstArg and secondArg. Assign them the values of args[0] and args[1] respectively.
Java
Hint
Use args[0] for the first argument and args[1] for the second.
3
Print the two arguments
Use System.out.println to print firstArg and secondArg on separate lines inside the main method.
Java
Hint
Use System.out.println twice, once for each argument.
4
Run and display the output
Run the program with arguments Hello and World and print the output.
Java
Hint
When running the program, pass Hello and World as arguments to see them printed.
Practice
(1/5)
1. What is the correct way to access the first command-line argument in a Java program inside the main method?
easy
A. args.first()
B. args[0]
C. args(0)
D. args.get(0)
Solution
Step 1: Understand the type of args
The args parameter in main is an array of strings.
Step 2: Access array elements in Java
Array elements are accessed using square brackets with the index inside, starting at 0.
Final Answer:
args[0] -> Option B
Quick Check:
Array access uses square brackets [OK]
Hint: Use square brackets to access array elements in Java [OK]
Common Mistakes:
Using parentheses instead of square brackets
Trying to call methods like first() on array
Using get() which is for lists, not arrays
2. Which of the following is the correct signature of the main method to access command-line arguments in Java?
easy
A. public void main(String[] args)
B. public static int main(String[] args)
C. static public void main(String args)
D. public static void main(String args[])
Solution
Step 1: Recall the standard main method signature
The main method must be public, static, return void, and accept a String array parameter.
Step 2: Check each option
public static void main(String args[]) matches the correct signature. public void main(String[] args) is missing static. static public void main(String args) has wrong parameter type. public static int main(String[] args) returns int which is invalid.
Final Answer:
public static void main(String args[]) -> Option D
Quick Check:
Main method must be public static void with String array [OK]
Hint: Main method must be public static void with String array [OK]
Common Mistakes:
Omitting static keyword
Wrong return type
Using single String instead of String array
3. What will be the output of the following Java program if run with arguments java Program Hello World?
public class Program {
public static void main(String[] args) {
System.out.println(args.length);
System.out.println(args[1]);
}
}
medium
A. 3
World
B. 2
Hello
C. 2
World
D. 3
Hello
Solution
Step 1: Count the command-line arguments
The program is run with two arguments: "Hello" and "World", so args.length is 2.
Step 2: Access the second argument
args[1] is the second argument, which is "World".
Final Answer:
2
World -> Option C
Quick Check:
args.length=2, args[1]=World [OK]
Hint: args.length counts arguments; args[1] is second argument [OK]
Common Mistakes:
Counting program name as argument
Using args[0] as second argument
Confusing args.length with number of arguments plus one
4. Identify the error in the following Java program that tries to print the first command-line argument:
public class Test {
public static void main(String[] args) {
System.out.println(args(0));
}
}
medium
A. Using parentheses instead of square brackets to access array element
B. Missing static keyword in main method
C. Incorrect class name
D. Missing return statement in main
Solution
Step 1: Check how array elements are accessed
In Java, array elements are accessed using square brackets, not parentheses.
Step 2: Identify the error in the code
The code uses args(0) which is invalid syntax and causes a compile error.
Final Answer:
Using parentheses instead of square brackets to access array element -> Option A
Quick Check:
Array access uses square brackets [OK]
Hint: Use square brackets [] for arrays, not parentheses () [OK]
Common Mistakes:
Using parentheses for array access
Confusing method call syntax with array access
Ignoring compile errors due to wrong syntax
5. You want to write a Java program that prints all command-line arguments separated by commas. Which code snippet correctly does this inside main?