title: Creating a method that searches an Array for a user inputted value, outputs result(s) if any?
body: <p>I have a program that stores 4 array lists: songName, songArtist, songAlbum &amp; songYear which can be all added to,edited,shuffled and delete by the user. I want to create a method, that when called asks the user to input a string, which then searches the array and prints any corresponding results. For example if I searched the songName array for any song with "The" in the title, they'd output one on each line.</p>
  
  <p>Can anybody help me out with this one? Thanks in advance :)</p>
  
  <p>My Code:</p>
  
  <p>Main Class:</p>
  
  <pre><code>package ca1;
  
  //imports the scanner
    import java.util.Scanner;
  
  
  public class MainClass extends UserInput {
  
          public String nextInt;
  
          public static void main(String[] args) {
  
        //Links to the UserInput class to create an object that stores
        //user input    
          UserInput ui = new UserInput();
  
        //Creates new scanner object
          Scanner input = new Scanner(System.in);
  
        //Declares the int "opt" so it can be used in the menu  
          int opt;
  
  
  
          //Calls Methods Class so methods can be used below
          Methods methodsFunctions = new Methods();
  
  
          //initial prompt only displayed when program is first ran
          System.out.println("Welcome to your music library");
  
  
          //Usig a do while loop so that the program keeps running until 
          //a specific condition is met, in this case it's when 0 is selected.
          do 
          {
  
            //Menu Prompts printed to the screen for the user to select from
              System.out.println("........ \n");
              System.out.println("Press 0 to Exit\n");
              System.out.println("Press 1 to Add a Song\n");
              System.out.println("Press 2 to View All Songs\n");
              System.out.println("Press 3 to Remove a Song\n");
              System.out.println("Press 4 to Edit Song Information\n");
              System.out.println("Press 5 to Shuffle Library\n");
              System.out.println("Press 6 to Search (by name) \n");
              System.out.println("Press 7 to Remove ALL Songs\n");
  
            //Monitors the next Int the user types
              opt = input.nextInt();
  
  
  
  
  
              //"if" statements
              if (opt == 0) 
              {
              //This corresponds to the condition of the while loop,      
              //The program will exit and print "Goodbye!" for the user.  
  
               System.out.println("Goodbye!");  
              } 
  
  
              else if (opt == 1)                 
              { 
               //This method allows the user to add a song to the library.
               //With the format being Title, Artist, Year.
  
                 methodsFunctions.addEntry();
              }
  
  
  
  
              else if (opt == 2)
              {
                //This method prints the contents of the Array List to the screen  
  
                  methodsFunctions.viewAll(); 
              } 
  
  
  
  
              else if (opt == 3)             
              {
                //This method allows the user to remove an indiviual song from
                //their music library  
  
                  methodsFunctions.removeOne(); 
              } 
  
  
  
              else if (opt == 4) 
              {
                //This method allows the user to edit the data of a particular 
                //and then prints the new value on screen
  
                  methodsFunctions.editItem();
              } 
  
  
               else if (opt == 5) 
              {    
                 //This method uses the Collections.shuffle method
                 //to re-arrange the track list
                 //song to simulate a music player's shuffle effect.
                   methodsFunctions.shuffleSongs();
  
              } 
  
  
  
              else if (opt == 6) 
              {    
                   methodsFunctions.searchSongs(); 
              } 
  
  
  
              else if (opt == 7) 
              {
                  //This method will clear all contents of the library.
                  //It will ask the user to confirm their choice.
  
                  methodsFunctions.clearAll();
               } 
  
  
  
              else 
              {
                //If the user selects an incorrect number, the console will 
                //tell the user to try again and the main menu will print again
  
                  System.out.println("Incorrect Entry, please try again");
              }
  
  
          } //do-while loop
          while (opt &gt; 0);
  
      }
  }
  </code></pre>
  
  <p>Methods Class</p>
  
  <pre><code>    package ca1;
  
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.List;
  import java.util.Random;
  import java.util.Scanner;
  
      public class Methods extends UserInput
  
  
      {
           Scanner input = new Scanner (System.in);
  
         //Declare array lists  
           List&lt;String&gt; songName = new ArrayList&lt;&gt;();
           List&lt;String&gt; songArtist = new ArrayList&lt;&gt;();
           List&lt;String&gt; songAlbum = new ArrayList&lt;&gt;();
           List&lt;Integer&gt; songYear = new ArrayList&lt;&gt;();
  
  
              UserInput ui = new UserInput();
  
                  public void clearAll(){  
                      System.out.println("Are you sure?");
                      System.out.print("1: Yes \n2: No" + "\n");
                      System.out.print("");
  
                      int confirmDelete=input.nextInt();
                      if (confirmDelete == 1){
                      songName.clear();
                      songYear.clear();
                      System.out.println("Your music library has been cleared");
                  }   
  
      }
  
                  public void viewAll(){  
                  System.out.println("\n");
                  System.out.println("Your Music Library" + "\n" + " Artist - Song - Album (Year)  " + "\n");
                  for (int i = 0; i &lt; songName.size(); i++)
  
                  {
                  int counter=i+1;
                  System.out.println(counter+": "+songArtist.get(i)+" - "+ songName.get(i)+ " - " + songAlbum.get(i) + " (" +songYear.get(i)+") ");
                  }
  
                  System.out.println("\n");
      }   
  
                  public void addEntry(){
              //System.out.print("Enter Name: ");
              String newName = ui.getString("Enter the name of the track");
              songName.add(newName);
              String newArtist = ui.getString("Who performs this track");
              songArtist.add(newArtist);
              String newAlbum = ui.getString("What album is this track from");
              songAlbum.add(newAlbum);
              System.out.print("What year was the track released? ");
              int newYear=input.nextInt();
              songYear.add(newYear);
  
              System.out.println("\n" + "Thank you, " +songName.get(songName.size()-1) + " has been added to the library.");
              System.out.println("\n" + "Press 2 to view your library." + "\n");
  
  
              /*
              System.out.println("\n"+songName.get(songName.size()-1));
              System.out.println("\n"+songArtist.get(songArtist.size()-1));
              System.out.println("\n"+songYear.get(songYear.size()-1));
              */
          } 
  
                  public void removeOne(){       
  
              System.out.println(" Which song would you like to delete? (1 to "+songName.size()+")");
              viewAll();
              int remove=input.nextInt();
              if (remove &gt;songName.size()){
                  System.out.println("Invalid ");
              }
              else {
                  remove--;
                  System.out.println("Are you sure you would like to delete "+songArtist.get(remove)+" - "+songName.get(remove)+ "-" + songAlbum.get(remove) +" (" +songYear.get(remove)+ ") from your music library?");
                  System.out.print("1: Yes \n2: No" + "\n");
                  int confirmDelete=input.nextInt();
                  if (confirmDelete == 1){
                      songArtist.remove(remove); 
                      songAlbum.remove(remove);
                      songName.remove(remove);
                      songYear.remove(remove);
                      System.out.println(songName.get(remove)+ " has just been removed from your music library");
                      // viewAll();
                  }       
              }
          } 
  
  
                  public void shuffleSongs(){
                //The attributes of the song all get shuffled together because they 
                //are all linked by the same seed.
  
                  long seed = System.nanoTime();
                  Collections.shuffle(songName, new Random(seed));
                  Collections.shuffle(songArtist, new Random(seed));
                  Collections.shuffle(songAlbum, new Random(seed));
                  Collections.shuffle(songYear, new Random(seed));
                  System.out.println("Your library is now shuffled" + "\n");
                  viewAll();
  
                //Shuffles library, then outputs the new library list.
              }         
  
  
                  public void editItem(){
  
              viewAll();
              System.out.println("Choose the song you want to edit (1 to "+songName.size()+")");
            //prints out the contents of library with first entry being index 1
            //The library is numbered and goes as far as the index of the last entry  
  
              int edit=input.nextInt();       
              if (edit &gt;songName.size()){
                  System.out.println("Invalid Selection");
  
                //if user selects a number that corresponds to an index that's not
                //In the array list, they will be shown an error.
              }
  
  
                  else{
                  edit--;
                  System.out.println("\n" + "Enter New Track Name: ");
                  input.nextLine();
                  String editName=input.nextLine();
                  songName.set(edit,editName);
                //Edits the songName value of the Song object selected 
  
                  System.out.println("\n" + "Enter New Artist ");
                  String editArtist=input.nextLine();
                  songArtist.set(edit,editArtist);
                //Edits the songArtist value of the Song object selected 
  
                  System.out.println("\n" + "Enter New Album ");
                  String editAlbum=input.nextLine();
                  songArtist.set(edit,editAlbum);
                //Edits the songAlbum value of the Song object selected 
  
  
                  System.out.println("\n" + "Enter New Year:");
                  int editYear;
                  editYear = input.nextInt();
                  songYear.set(edit,editYear);
                //Edits the songName value of the Song object selected
  
                  System.out.print("\n" + "Your changes have been saved:" + "\n");
                  System.out.print("\n" + "This is your current library");
                  viewAll();
              }
          }
  
  
                  public void searchSongs(){
  
  
  
                  }
  
  
  
  
      }
  </code></pre>
  
  <p>Everything works, I just want to add the functionality of being able to search. </p>