package other;

public class Tester {

    public static void main(String[] args) {

        // Integer Division
        System.out.println("Integer Division (flooring)");
        System.out.println("=====================");
        System.out.println(" 9/2 = " + (9.0 / 2) + " = " + (9 / 2));
        System.out.println("16/3 = " + (16.0 / 3) + " = " + (16 / 3));
        System.out.println(" 5/4 = " + (5.0 / 4) + " = " + (5 / 4));
        System.out.println("13/5 = " + (13.0 / 5) + " = " + (13 / 5));

        // toString and equals
        System.out.println("\ntoString and equals");
        System.out.println("=====================");
        Person a = new Person("Alice", 22);
        Person a2 = new Person("Alice", 22);
        Person b = new Person("Bob", 21);

        // toString
        System.out.println(a);
        System.out.println(a2);
        System.out.println(b);

        // equals
        System.out.println(a.equals(a)); // TRUE
        System.out.println(a.equals(b)); // FALSE
        System.out.println((Object) a.equals((Object) a2)); // FALSE
        System.out.println(a.equals(a2)); // TRUE

    }
}

class Person {

    String name;
    int age;

    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    boolean equals(Person p) { // This method overrides the object equals
        // method
        if (this.name.compareTo(p.name) == 0 && this.age == p.age) {
            return true;
        } else {
            return false;
        }
    }

}