Practical Coding in Java

Learn to write and validate your own code

Darren Kessner, PhD

(revised September 1, 2025)

Previous: Functions

MonkeyTrouble

//
// MonkeyTrouble.java
//


public class MonkeyTrouble
{
    public static boolean monkeyTrouble(boolean aSmile, 
                                        boolean bSmile) 
    {
        return aSmile == bSmile;
    }

    public static void testMonkeyTrouble(boolean aSmile,
                                         boolean bSmile, 
                                         boolean expected)
    {
        boolean result = monkeyTrouble(aSmile, bSmile);
        
        System.out.print("aSmile: " + aSmile +
                " bSmile: " + bSmile + 
                " expected: " + expected +
                " result: " + result + " ");

        if (result == expected)
            System.out.println("YAY!");
        else
            System.out.println("Boohoo!");
    }

    public static void main(String[] args)
    {
        System.out.println("Hello, world!");

        testMonkeyTrouble(true, true, true);
        testMonkeyTrouble(false, false, true);
        testMonkeyTrouble(true, false, false);
        testMonkeyTrouble(false, true, false);
    }
}

Output:

Hello, world!
aSmile: true bSmile: true expected: true result: true YAY!
aSmile: false bSmile: false expected: true result: true YAY!
aSmile: true bSmile: false expected: false result: false YAY!
aSmile: false bSmile: true expected: false result: false YAY!

Next: