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...
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...
This is the code with the NOT operator still in. It would not compile this way
hope this helps
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.
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
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);