Create a Java program which implements this Moore machine. Requirements 1. The program must be written in Java. 2. It must request the initial state and the input. It displays the machine’s output and the final state, as in the example below. 3. The input is a string of zeros and ones only. 4. If the initial state or input is invalid, an error message is produced. The program may, but is not required to use Java exceptions in this case 5. The program must implement the entire Moore machine, not just the inputs below. The instructor will test it with different input Hint: There are many different ways to do this, but consider using an array of state objects.