Processing names and meanings from .txt files
I would start from the declaration of main. You are throwing an exception from it but no other class will handle it. You should put your Scanners inside a try-catch and handle the exception properly. 

I would also recommend reading everything from the files at once and use that collection of data in your code logic. A Scanner locks the file until it's finished with it.

Furthermore, you don't have to call System.out.println(...) just for the sake printing a new line. Use the \n escape sequence for doing the same

System.out.println("This program allows you to search through the \ndata from the Social Security Administration \nto see how popular a particular name has been \nsince 1890.\n");


The rest is just a search function to find the meaning based on the name and gender. I recommend creating a name Baby class with name and gender attributes and use a Hashtable&lt;Baby, String&gt; to search for the meaning. The class can be as simple as

class Baby{
    private String name;
    public String Name(){
        return name;
    }

    private boolean gender;
    public boolean Gender(){
        return gender;
    }

    public Baby(String name, boolean gender){
        this.name = name;
        this.gender = gender;
    }
}


The time complexity of searching a value from a Hashtable is close to O(1) while a typical looping mechanism is O(n). The speed becomes n times slower as the size of the collection increases.

You also have a lot of duplicate code in the two while statements. To resolve that I'd recommend extracting out the if-else logic outside and calling a common function with a single loop. Something like

bool foundMatch = findMatch(...);
if(foundMatch) {
  findMatch(...) // with different params now
}
else {
  // print error message
}


Solving with Constraints

Given the constraints for the solution, I'd solve it as below

public static void main(String[] args){
    Scanner consoleInput = new Scanner(System.in);

    // Welcome message
    System.out.println("This program allows you to search through the \ndata from the Social Security Administration \nto see how popular a particular name has been \nsince 1890.\n");

    // Receive user input
    System.out.print("Name: ");
    String inputName = consoleInput.next();
    System.out.print("Gender: ");
    String inputGender = consoleInput.next();

    consoleInput.close(); // Closed as not needed anymore

    try (Scanner namesScanner = new Scanner(new File("names.txt"));
            Scanner meaningsScanner = new Scanner(new File("meanings.txt"))) {

        String foundMatch = findMatch(inputName, inputGender, namesScanner);
        if(!foundMatch.equals("")){
            System.out.println(foundMatch);
            System.out.println(findMatch(inputName, inputGender, meaningsScanner));
        } else{
            System.out.println("\""+ inputName + "\" not found.");
        }

    } catch (FileNotFoundException ex){
        System.out.println("File Not Found");
    }
}

private static String findMatch(String name, String gender, Scanner fileScanner){
    while(fileScanner.hasNextLine()){
        String currentLine = fileScanner.nextLine();

        // Split it to a String array and check the first two values
        String contents[] = currentLine.split(" ");
        if(name.equalsIgnoreCase(contents[0]) &amp;&amp; gender.equalsIgnoreCase(contents[1])){
            return currentLine;
        }
    }
    // if no returns occured till the end of the file
    return "";
}


Please note that 


The Scanners should be closed once you're done using them. Using Try-with-resources statement is a better alernative (as recommended in the comments). You don't have to worry about the Scanners being closed. The try block functions like a using from C# and releases all resources after the block itself is finished. The defined resources must implement the java.io.Closeable interface for this functionality and the Java project must use Java SE 7 or above.
Both name matching operations can be handled by the same function. The significance of positive matches is handled by the calling function. This also enforces Single Responsibility Principle (SRP) and improves code maintainability
Use equalsIgnoreCase(...) instead of equals() to avoid using toLowerCase() on all strings
return is called immediately from the function on the first match to avoid redundant checks


Now if you'll be very strict and won't accept the use of a String array. You can replace it by extracting the first and second values using substring(...) function on the first two whitespaces