Having trouble figuring out how to change this recursive method into an iterative method, anyone have any helpful pointers? I get how the recursive method works but not quite sure the steps to transform to iterative, thanks.
private static void printFriends(Friend friend, int distance) {
        if (distance == 0) {
            System.out.println(friend);
        } else {
            for (Friend f : friend.getFriends()) {
                System.out.println(f + "0");
                printFriends(f, distance - 1);
            }
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        List<Friend> friendList = new ArrayList<Friend>();
        Friend reuben = new Friend("Reuben");
        Friend soumitra = new Friend("Soumitra");
        Friend ken = new Friend("Ken");
        Friend elisa = new Friend("Elisa");
        Friend isaac = new Friend("Isaac");
        friendList.add(reuben);
        friendList.add(soumitra);
        friendList.add(ken);
        friendList.add(elisa);
        friendList.add(isaac);
        reuben.addFriend(soumitra);
        reuben.addFriend(ken);
        soumitra.addFriend(reuben);
        ken.addFriend(reuben);
        ken.addFriend(elisa);
        elisa.addFriend(ken);
        elisa.addFriend(isaac);
        isaac.addFriend(elisa);
        BufferedReader inputReader = new BufferedReader(new InputStreamReader(System.in));
        String inputName = "";
        String inputValue = "";
        Friend inputFriend = null;
        int inputInt = 0;
        System.out.println("Blank entry at any prompt exits program.");
        while (true) {
            System.out.print("Enter a person's name: ");
            try {
                inputName = inputReader.readLine();
            } catch (IOException e) {
                System.err.println("Error reading from console.");
            }
            if (inputName.equals("")) {
                System.out.println("Run complete.");
                System.exit(0);
            }
            inputFriend = new Friend(inputName);
            if (friendList.contains(inputFriend)) {
                inputFriend = friendList.get(friendList.indexOf(inputFriend));
                System.out.print("Enter a non-negative integer: ");
                try {
                    inputValue = inputReader.readLine();
                } catch (IOException e) {
                    System.err.println("Error reading from console.");
                }
                if (inputValue.equals("")) {
                    System.out.println("Run complete.");
                    System.exit(0);
                }
                try {
                    inputInt = Integer.valueOf(inputValue);
                } catch (NumberFormatException e) {
                    System.err.println("Must enter integer.");
                    continue;
                }
                if (inputInt < 0) {
                    System.out.println("Must be non-negative");
                } else {
                    printFriends(inputFriend, inputInt);
                }
            } else {
                System.out.println(inputFriend + " not found.");
            }
        }
    }
}
 
    