A switch statement would work for that if you wanted to, but you would have to update your code with every new job added. Another thing you would have to do is make your User Input match the strings you compare it to. Due to the ASCII values that chars are assigned, "Archer" != "archer" (which is why I used String.equalsIgnoreCase()). However, you can easily just capitalize/lowercase all of the User Input via String.toUpperCase() or String.toLowerCase().
Another way to work around this, which would require less updating on your part, would be to use the Java Reflection API. If you're not familiar with reflection, it's the practice of referring to your own code on a more abstract level, so that you can create indefinite objects. It can be confusing though, and more difficult to debug if you have to, because all of the reflection processes occur at runtime.
I'm going to avoid going to much into it for the sake of sanity, but it's really useful if you want to try.
Things to find to make things a bit easier:
- Class.forName(String name) or Class literals. These give you a Class Object (your starting point)
- Constructor.newInstance(Object... args) creates a new object from the Class. args is a list of any arguments, but you'll probably just need a String.