// Search a list of integers in a linear fashion -- // indirect recursion example import java.util.Scanner; class RecSearch2 { public static void main (String[] args) { Scanner scan = new Scanner(System.in); int[] list = {3, 5, 1, 2, 3, 2, 4, 2, 5, 10}; System.out.println ("The initial list is: "); for (int i = 0; i < list.length; i++) System.out.print (list[i] + " "); System.out.println(); System.out.print ("Select a target: "); int target = scan.nextInt(); search (list, target); } static void search (int[] list, int target) { if (list.length == 0) System.out.println ("Target not found."); else if (list[0] == target) System.out.println("Target found."); else get_rest (list, target); } static void get_rest (int[] list, int target) { int[] newlist = new int[list.length -1] ; for (int i = 0; i < newlist.length -1; i++) newlist[i] = list[i+1]; search(newlist, target); } }