private void searchCast() { System.out.print("Type in the name of the cast member you would like to search: "); String name = scanner.nextLine(); ArrayList castMembers = new ArrayList(); ArrayList moviesWithWord = new ArrayList(); for (Movie movie : movies) { String castList = movie.getCast(); if (castList.contains(name)) { moviesWithWord.add(movie); System.out.println(castList); String[] actorList = castList.split("\\|"); ArrayList actorListLow = new ArrayList(Arrays.asList(actorList)); for (int i = 0; i < actorListLow.size(); i++) { actorListLow.set(i, actorListLow.get(i).toLowerCase()); System.out.println(actorListLow); if (actorListLow.get(i).contains(name.toLowerCase())) { boolean add = true; for (String castMember : castMembers) { if (castMember.equals(actorList[i])) { add = false; break; } } if (add) { castMembers.add(actorList[i]); } } } } } sortResults(moviesWithWord); sortStrings(castMembers); // Implementation in next method for (int i = 0; i < castMembers.size(); i++) { int order = i + 1; System.out.println(order + ". " + castMembers.get(i)); } System.out.println("Which cast member would you like to learn more about?"); System.out.print("Enter number: "); int choice = scanner.nextInt(); scanner.nextLine(); String selected = castMembers.get(choice - 1); ArrayList list = new ArrayList(); for (Movie movie : moviesWithWord) { if (movie.getCast().contains(selected)) { list.add(movie); } } System.out.println("Which title would you like to select?"); for (int i = 0; i < list.size(); i++) { int order = i + 1; System.out.println(order + ". " + list.get(i).getTitle()); } choice = scanner.nextInt(); scanner.nextLine(); Movie selectedMovie = list.get(choice - 1); displayMovieInfo(selectedMovie); System.out.println("\n ** Press Enter to Return to Main Menu **"); scanner.nextLine(); }