This week's book giveaway is in the Agile forum. We're giving away four copies of The Software Craftsman and have Sandro Mancuso on-line! See this thread for details.

Lately I've been trying to learn Java with the Head First Java book. It seems like a good book so far except it's frustrating because the book doesn't explain how the code works in the exercises at the end of the chapters. They give the solutions to the exercises but no explanation.

Any help understanding how this code gets the following output would be great, thanks!

Louis Merz wrote:Also I'm not sure what the "" in the "System.out.print(x + "" + y + " "); " means. Does it simply mean the program will print two numbers at a time?

Try taking it out, and see what you get!!!

System.out.print(x + y + " ");

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

Anayonkar Shivalkar wrote:
New value of y = current value of x - current value of y.

Thank you so much Anayonkar - it makes sense now.

The second part of this question has this piece of code in place of (y = x - y)

code:
x = x + 1
y = y + x
with outcome expected to be: 11 34 59

Am I correct in saying that, to work out the y-axis, you'd first need to add +1 to the value of x, before you can plug in that value into (y = y + x) to get your corresponding y-axis value?

I don’t think those values are axes, but simply x and y. I think the bit about "" previously might be a misprint and should have read " ", which means you get 1 1 instead of 11. I don’t have my copy of the book to hand at present.