Banana Code

Embed Size (px)

DESCRIPTION

Java code of two classes that are linked. The code is intended to confuse the person being tested, it focuses on which variable is being used at each stage. The local or the method variable.

Citation preview

Given:public class Banana {Banana Banana;static Banana banana;Banana(){Banana = Banana(Banana);}Banana Banana(Banana Banana){Banana = Banana.banana;System.out.println("banana" + banana + banana.banana + Monkey.banana);return Banana;} Banana banana(){ return banana.banana = Banana(banana.banana); } Banana banana(Banana banana){ return banana = Banana; }}public class Monkey {static Banana banana;Monkey(){ banana();}public static void main(String[] args) {int BunchOfBananas = 0;Banana banana = new Banana();banana.banana(banana);System.out.println("banana");System.out.println(banana);}void banana(){banana = Banana.banana;}}What will be printed?a)"banana" twice and the object bananab) "banana" will be printed five timesc) no bananas are printedd) compilation failse)null is printed four times