Win a copy of Design for the Mind this week in the Design forum!

# Casting Boolean

Jeff Russell
Greenhorn
Posts: 1
Hey All.
Probably a silly question, but I'm trying to teach myself Java 2. Using the "Beginners Guide Second Edition" by Herbert Schildt.
I have written and compiled the program you see as follows (Boolean truth table):
// Project 2-2: a truth table for the logical operators.
class LogicalOpTable
{
public static void main (String args[])
{
boolean p, q;

System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
p = true;
q = true;

System.out.print(p + "\t" + q +"\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));
p = true;
q = false;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));
p = false;
q = false;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));
p = false;
q = true;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));

}
}
The exercise after this states: "Try modifying the program so that it uses and displays 1's and 0's, rather than true and false." In the know that I cannot "cast" a boolean value, and that the operators are not the same for int or byte types, can you suggest a solution for me? There is no answer to this in the book or on the supporting web site.
Thanks Guys.
Cheers.
Jeff

Barry Gaunt
Ranch Hand
Posts: 7729
Try to write a method (function) which has the following form:

Then use that method in the appropriate places in your original program.

Barry Gaunt
Ranch Hand
Posts: 7729
But if you mean do not use the type boolean in any way, then see what happens if you just replace boolean by int throughout your program. And use 1 for true and 0 for false. But you will still have a problem with the ! (not) operator, so you will have to write a method to get around that.

[ December 30, 2003: Message edited by: Barry Gaunt ]