# A simple command-line interpreter
## Initialize a new project
- Create a new project named `java-simple-cli`
- Create and edit a new file `Cli.java`
- Declare a public class named `Cli` with a `main` method
- Add a line of code in the `main` method to print Test in the console
- Compile then run the Cli program, the output should be `Test`
## Add a scanner into the program
- Discover what the `Scanner` class is, [source](https://www.geeksforgeeks.org/scanner-class-in-java/), do not implement the examples in the source, simply read and try to understand
- In the source class, replace current code by the following lines of code:
```java
import java.util.Scanner;
public class Cli {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // Listen to the standard input (console)
System.out.print("> "); // Prompt
while (true) { // Infinite loop
String command = scanner.nextLine(); // Get input from console as a string
String output = ""; // A variable named output of type String
if (command.equals("exit")) {
break; // Forces exit of the while loop
} else {
// String concatenation
output = "Command '" + command + "' not found.";
}
System.out.println(output); // Print with new line (ln)
System.out.print("> "); // Prompt
}
scanner.close(); // Best practice, always close a stream when no more needed
System.out.println("Bye!");
}
}
```
- Compile and test the program
- Understand what a package is in Java, what means the `import` keyword?
- Learn why we do not need import statements for the `System` and `String` classes?