Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Head First Java exercise problem

 
Louis Merz
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello everyone,

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!



Program Output: 00 11 21 32 42



 
Jeff Verdegan
Bartender
Posts: 6109
6
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What part don't you understand? What output would you expect?
 
Ian Paul Budiman
Greenhorn
Posts: 7
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Louise,

I am a newbie also, but the logic solution for that particular is:

You will print out value X, Value Y from X=0, X=1, X=2, X=3, X=4

Which the format would be: "System.out.print(x + "" + y +" "); "

As you know the given parameter is, x = x + 1 and y = x - y

So, it will give you result:

when x=0
0,0(0-0)


when x=1
1,1(1-0)


when x=2
2,1(2-1)

when x=3
3,2(3-1)

when x=4
4,2(4-2)

Which the bold part is "Y"

Hope it helps.
 
Matthew Brown
Bartender
Posts: 4565
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And welcome to The Ranch, Louis!
 
Louis Merz
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Thanks Ian, that makes a lot more sense.

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?


And welcome to The Ranch, Louis!


Thanks Matthew, I'm glad to be here!
 
fred rosenberger
lowercase baba
Bartender
Posts: 12090
29
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 + " ");
 
Ricci Sithole
Greenhorn
Posts: 2
Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
when x=0
0,0(0-0)


when x=1
1,1(1-0)


when x=2
2,1(2-1)

when x=3
3,2(3-1)

when x=4
4,2(4-2)

Could you kindly expand on these equations - I cannot seem to find how you get your y-axis values - what's the formula that you are using?
 
Anayonkar Shivalkar
Bartender
Posts: 1557
5
Eclipse IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ricci Sithole wrote:I cannot seem to find how you get your y-axis values - what's the formula that you are using?

You might find it yourself after doing paperwork.
New value of y = current value of x - current value of y.
 
Ricci Sithole
Greenhorn
Posts: 2
Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?

Rgds
Ricci
 
Campbell Ritchie
Sheriff
Posts: 48454
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic