```
/************************
* Examples of booleans, the "if" conditional, and the "while" loop.
* This material is chapter 4 in our text.
*
* These new constructs give us *lots* more power;
* please look carefully at the code.
*
* Things to discuss:
*   - "static" methods, and what it means to say that
*   - "public" vs "private" methods
*   - method definitions, calling the method, and their
*     inputs (i.e. variables passed in) and output (i.e. return value)
*
*
* @author  Jim mahoney
* @version Oct 8
************************/

class BooleanExamples {

public static void main(String[] args){
testDeMorgan();
}

// Loop through all four true/false combinations of two
// boolean variables, and use each to try de Morgan's Laws.
public static void testDeMorgan(){
final int numberOfCases=4;
line();
print("Testing de Morgan's Laws.");
line();
boolean a=true;
boolean b=true;
int howManyTrue  = 0;
int whichCase=1;
while (whichCase <= numberOfCases){
if      (1==whichCase){
a=true;  b=true;
}
else if (2==whichCase){
a=true;  b=false;
}
else if (3==whichCase){
a=false; b=true;
}
else if (4==whichCase){
a=false; b=false;
}
else {
print(" OOPS - illegal whichCase");
System.exit(1); // exit the program with an error status.
}
howManyTrue++;
}
whichCase++;
}
print(" Summary: de Morgan is true " + howManyTrue +
" times out of " + numberOfCases + ".");
}

// Print out an analysis of a specific true/false combination
// in the symbolic logic truism called "de Morgan's Law".  (See pg 135.)
public static boolean tryOneDeMorganPair(boolean x, boolean y){
print(" Trying x='" + x + "', y='" + y + "' on deMorgan.");
boolean leftSide   = !(x && y);
boolean rightSide  = !x || !y;
boolean wholeThing = (leftSide == rightSide);
print("   Left  side : !(x && y) = " + leftSide  + ".");
print("   Right side : !x || !y  = " + rightSide + ".");
print("   (Left == Right) is " + wholeThing + ".");
line();
return wholeThing;
}

// Print a line of dashes, i.e. " - - - - - - - - - "
public static void line(){
int iDashCount=20;
System.out.print(">");
while (iDashCount>0){
System.out.print(" -");
iDashCount--;
}
System.out.println(" ");
}

// I get tired of typing "System.out.println".
// So this lets me just type "print".
public static void print(String s){
System.out.println("> "+s);
}

}

```

syntax highlighted by Code2HTML, v. 0.9.1