A simple Java program simulating the user interface of a coffee machine. A project from the JetBrains Academy Java developer track: https://hyperskill.org/projects/33
The coffee machine is represented by a class, containing a method that takes a string as input. The coffee machine can be in several states, e.g., "choosing and action", "choosing a type of coffee", etc. Every time the user inputs something and the program passes that line to the method, the program determines how to interpret this line using the information about the current state. After processing this line, the state of the coffee machine can be changed or can stay the same.