import java.util.*; class Robot { ArrayList underlings = new ArrayList<>(); private static int counter = 0; private String rId; public Robot(String id, int i){ rId = Integer.toString(counter) + id + Integer.toString(i); System.out.println(this); createUnderlings(i, i); } public void createUnderlings(int n, int i){ if (n !=0){ counter++; underlings.add(new Robot("x", i-1)); createUnderlings(n-1, i); } } public void findRobot(String id){ for (Robot r : underlings){ if (r.rId.equals(id)){ System.out.println(r + " says hi!"); return; } r.findRobot(id); } } public String toString(){ return "ID: "+rId; } }