Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

truth table

 
Lenny Leon
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm just starting out learning Java and need a little help. I'm supposed to take this truth table and alter it so it displays 1's and 0's instead of true false. I'm assumed to do this I would just need to change the variable type and replace true and false with 1 and 0 but every way I try this does not work. I would just like for someone to point me in the right direction. I would like an explanation so I could understand instead of just an awnser. Thanks in advance



 
Liam Tiarnach
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Lenny Leon:
I'm just starting out learning Java and need a little help. I'm supposed to take this truth table and alter it so it displays 1's and 0's instead of true false. I'm assumed to do this I would just need to change the variable type and replace true and false with 1 and 0 but every way I try this does not work. I would just like for someone to point me in the right direction. I would like an explanation so I could understand instead of just an awnser. Thanks in advance


okay, so break down what !p means...
! = a boolean operator that inverts the value of a boolean...
So...

if p is true then !p ( NOT p ) is false, otherwise...
if p is false then !P ( NOT p ) is true... Hmmm... the opposite...

so if you use integers... then you could look at it like this...

if p is 1 then !p ( NOT p) then p is 0, else
if p is 0 then !p ( NOT p) then p is ???
... you can take it from here...

now you got some of the logic, making it work should be easier...
 
Lenny Leon
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've got it to work (though I don't think its correct) but in order for it to work I removed the ! operator. It won't compile when I leave it in. How do I fix this so it includes the ! operator?

This is the code with the NOT operator still in. It would not compile this way

 
Nigel Browne
Ranch Hand
Posts: 703
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I didn't want to do all your work for you but look at the code below and see if you can work from there.

hope this helps
 
Joel McNary
Bartender
Posts: 1840
Eclipse IDE Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The important lesson to learn here is that Nigel did not change the underlying code in the program...he kept the data types the same and simply changed the user interface to display 1's and 0's instead of trues and falses.

You could also then change it to display Y/N, T/F (or, for the really sadistic, A/B or even N/Y.....)

You might want to add a could of static variables:


If you were yo use these in the code, you could change the displays to whatever your heart desired with very little effort.
 
Ben Don
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In order to compile, I had to adapt this code below by inserting parenthesis around the ternary operator section. For example - System.out.print((p? 1:0) + "\t"); How did you get around this?

Nigel Browne wrote:I didn't want to do all your work for you but look at the code below and see if you can work from there.

hope this helps

 
Campbell Ritchie
Sheriff
Pie
Posts: 49756
69
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

You have a + operator in that line, which has a higher precedence than ?:. So without the () you would offer it the choice between printing 1 and printing "0\t"; those are incompatible types (int and String), so the compiler wouldn't be happy.
What about using % tags
System.out.printf("%d\t", p ? 1 : 0);
 
fred rosenberger
lowercase baba
Bartender
Posts: 12183
34
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You guys realize this thread is nine years old, right?
 
Ben Don
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, but the answer didn't work as written. The problem hasn't changed.
 
Campbell Ritchie
Sheriff
Pie
Posts: 49756
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please explain what you expect to happen and what is actually happening.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic