This says that the reference variable named "reply" refers to a String object. Now look at the link that Jean-Sebastion gave above. This is the javadocs for the System class from the standard Java API. Scroll down until you see a box with a blue border and the title "Field Summary". Here you can see that the reference variable System.in is declared to refer to an InputStream object. Since String and InputStream are not related to each other by inheritence, you cannot assign System.in to reply.
So what is your intent here? What do you think this should do? Can you please explain further and we can give you some more information to help you along the way. I strongly suggest that you look at the Javadocs as I described above. You will notice that the word "InputStream" next to the description of the "in" variable is a link. This will lead you to a description of the InputStream class. In particular, you will find a list of the methods that are available. (Hint: you may find the read() method helpful if you are trying to read some input.)
I hope this helps clear some of the confusion. If not, please come back with some answers to my questions above and I will be glad to help you further.
incompatible types found : java.io.InputStream required: java.lang.String reply = System.in;
The compiler is saying the it found an InputStream (System.in) and it required a String. Look up the type or definition of System.in. What is it? It is NOT a String, its an InputStream object that can be used to read data. So you need to figure out how to use that object to read the input from the console. Read the doc the InputStream class and see what methods it has available for reading. You'll need to use these somehow to get what the user has entered.
Some definitions to consider: System is a class. in is a public variable in that class. System.in accesses that class.