Sorry for bumping, but I'd feel bad if I didn't thank you for your help. I found out the issue, and it did have to do with the if statements that allowed for comparison. I needed to add .compareTo statements to do the comparison, it was simply poor structure.
So thank you! :)
*problem solved

Hmm, I don't know. The compiler I'm using doesn't seem to have a problem with it until I run that method...
In the rent method I've added a println statement that will print the flag ( which is 0 ) if a data file is found. I loaded the database and entered the name of a book in my database and it printed a 0. Which I'm assuming it means that the method DOES realise the database is there, and it is able to compare the strings, but it just won't print them. Sorry if I'm a little slow at this, it's all a learning process for me.

Before using the LoadData method, I could run the Rent method, and it would display all data files with an Availability status of "Available", and then I could select any title from that list of data files to change its Availability status to "Rented, (vise versa for the Return Method). AFTER using the LoadData method, no data files display as "available" and it's like there are no data files in the program at all, which isn't true because the other methods work like normal.
The == operators are how I was taught to compare the string values in my course, and they work perfectly in my search methods, so I'm confused as to why these other 2 methods are any different?
The loop indexes were just laziness on my part, they still perform the same function but I've changed them back to starting at 0.

I think I fixed the LoadData method, but after I use the LoadData method, my rent and return methods stop working, and ONLY those two methods.

public static void Rent ()  // Users can change the availability status of any available Book in the database to "Rented"

{
    c.clear ();
    String rentbook;
    int flag;
    boolean found;
    flag = 0; //flag is 0 for string comparison purposes.
    found = false; //Found is false until proven true.
    c.print ("Available Books\n\n");
    for (x = 1 ; x <= books ; x++)
    {
        if (Availability [x] == "Available")
        {
            c.print (name [x] + "\n");
        }
    }
    c.print ("\nWhat is the name of the book you wish to rent?: ");
    rentbook = c.readLine ();

    for (x = 1 ; x <= books ; x++)
    {
        if (rentbook.compareToIgnoreCase (name [x]) == 0) //Compares values in the array to user input
        {
            flag = x; //An array value in name[x] has been flagged for use.
            found = true; //The search produced a result, and is now true
        }
    }
    if (found == false) //If no results are found, this displays
    {
        c.println ("Book Not Found");
    }
    else //If a result is found, this displays.
    {
        if (Availability [flag] == "Rented")
        {
            c.print ("This book is already under rent. Sorry!\n"); //Book is already rented, user cannot rent it again until it has been returned.
        }
        if (Availability [flag] == "Available")
        {
            c.print ("You have rented the book: " + name [flag] + "\n"); //Book is available, you can ...

Ok I've solved the LoadData problem, but now something even more confusing has happened. My rent and return methods work fine before loading data from a file, but after loading the data they stop functioning. My search methods work fine though. All of those methods search the database and flag a result so they are structured almost identically. Why would some methods stop working while others act as usual?

public static void Rent ()  // Users can change the availability status of any available Book in the database to "Rented"

{
    c.clear ();
    String rentbook, selection;
    int flag;
    boolean found;
    flag = 0; //flag is 0 for string comparison purposes.
    found = false; //Found is false until proven true.
    c.print ("Available Books\n\n");
    for (x = 1 ; x <= books ; x++)
    {
        if (Availability [x] == "Available")
        {
            c.print (name [x] + "\n");
        }
    }
    c.print ("\nWhat is the name of the book you wish to rent?: ");
    rentbook = c.readLine ();

    for (x = 1 ; x <= books ; x++)
    {
        if (rentbook.compareToIgnoreCase (name [x]) == 0) //Compares values in the array to user input
        {
            flag = x; //An array value in name[x] has been flagged for use.
            found = true; //The search produced a result, and is now true
        }
    }
    if (found == false) //If no results are found, this displays
    {
        c.println ("Book Not Found");
    }
    else //If a result is found, this displays.
    {
        if (Availability [flag] == "Rented")
        {
            c.print ("This ...
public static void EnterBooks ()  //User enters initial Books in this method

{
    int userselection;
    c.clear ();
    c.print ("WARNING, DATA PREVIOUSLY ENTERED MAY BE OVERWRITTEN. DO YOU WISH TO CONTINUE?\n\n"); //The user has an option to do this, as data that was previously entered will be overwritten.
    c.print ("1. Continue");
    c.print ("\n2. Main Menu\n");
    c.print ("Please make your selection (1-2): ");
    userselection = c.readInt ();
    if (userselection == 1)
    {
        c.clear ();
        c.print ("How many books do you wish to enter?: "); //User may choose how many new Books they wish to enter.
        books = c.readInt ();

        for (x = 1 ; x <= books ; x++)
        {
            c.print ("\nPlease enter the name of book " + x + ":"); //Data Entry for all required values of x
            name [x] = c.readLine ();

            c.print ("Please enter this books type: ");
            type [x] = c.readLine ();

            c.print ("Please enter this books primary genre: ");
            Genre1 [x] = c.readLine ();

            c.print ("Please enter this books secondary genre: ");
            Genre2 [x] = c.readLine ();

            Availability [x] = ("Available"); // All new Books are assumed to be available, to change their status to rented, use the rent method.
        }
        if (userselection == 2)
            c.clear ();
        else if (userselection < 1 || userselection > 2) //If the user enters an invalid selection, the following displays.
        {
            c.clear ();
            c.print ("Invalid Number, try again!\n\n");
        }
    }
}

public static void SaveBooks () throws IOException

{
    c.clear ();
    PrintWriter BookData;
    BookData = new PrintWriter (new FileWriter ("Books.txt"));//Create ...

Okay, so this is my final assignment for a class I am taking. I'm making a Book Library Database that keeps track of all books that are entered and changed, things like that. I figured a useful feature would be saving your data in a text file so that it could be loaded again any time. I successfully managed to get the program to save my data into a text file but I can't seem to Load that text file in a way that the lines are assigned to their correct variables again. I'll attach some code... (WARNING: It is 500 lines of code, so you can compile it just to get a feel of how it's intended to work, the classes that are giving me trouble are at the end of the code)

import hsa.Console;
import java.io.*;

/*This program was created
*by *anonymous* to act as
*a book rental system. The
*user can input, add, delete,
*modify, rent, return,
*and search books.
*/

public class librarysystem
{
    static Console c;
    static String name[] = new String [1001]; //These were made global because they are present in a large majority of the methods.
    static String type[] = new String [1001]; 
    static String Genre1[] = new String [1001];
    static String Genre2[] = new String [1001];
    static String Availability[] = new String [1001];
    static int x, books;

    public static void main (String[] args)throws IOException //Main Menu
    {
        c = new Console (); //Opens the console.

        int choice;
        do
        {
            c.print ("\n     Main ...

Ok, now I'm certain it works. Thanks again for all the help.
I'm doing this course online and my teacher just doesn't do the trick when it comes to helping me understand things.

Sorry I spoke too soon, I'm so frustrated. Now that I removed lines 80-83, suddenly the data isn't sorted by age anymore. It displays data only for batters with age below 25 and average above .280 now, but it doesn't sort them by age. Is there a simpler way to sort them by age and still follow the other rules? :(
[code] public static void Searchscouts ()

{
    {
        c.clear ();
        int smallest, i, temp;
        c.print ("Possible Draft Choices\n\n");
        for (x = 1 ; x <= 10 ; x++)
        {
            smallest = x;

            for (i = x ; i <= 10 ; i++)
            {
                while (age [i] < age [smallest])
                    smallest = i;
            }
        }

        for (x = 1 ; x <= 10 ; x++)
        {
            if (age [x] <= 24 && bataverage [x] >= .280)
                {
                    c.println ("Name " + name [x] + " Age: " + age [x] + " Position: " + position [x] + " Batting Average: " + bataverage [x]);
                }
        }
    }
}

[/code]

Oh my god. Lines 80-83 were the problem, I have no idea why my lesson plan told me to use that. It works like a beauty now.

Thank you sooooo much for your patience with me, I greatly appreciate it. :D

I'm still having trouble. I'll update the code I made in my first post, I now need to know why it says their age is 0 when I search for data.
[CODE]public class Bluejays3
{
static Console c;
static String name[] = new String [11];
static double bataverage[] = new double [11];
static int age[] = new int [11];
static String position[] = new String [11];
static int x;

public static void main (String[] args)
{
    c = new Console (); //Opens the console.

    int choice;

    do
    {
        c.print ("     Main Menu\n");
        c.print ("     *********\n");
        c.print ("     1. Enter Blue Jay Data");
        c.print ("\n     2. Display Possible Draft Choices");
        c.print ("\n     3. Exit");
        c.print ("\n     Select your choice 1-3: ");
        choice = c.readInt ();

        if (choice == 1)
            Batterdata (); //opens data entry method
        if (choice == 2)
            Searchscouts (); //opens search method
        if (choice == 3)
        {
            c.print ("\nGoodbye!"); //exits program
        }
        else if (choice < 1 || choice > 3)
        {
            c.clear ();
            c.print ("Invalid Number, try again!\n\n"); //user must enter a proper value or this displays
        }
    }
    while (choice != 3);
}

public static void Batterdata ()
{
    c.print ("You will need to enter 10 possible draft choices\n");
    for (x = 1 ; x <= 10 ; x++) //loops for values (0-9) User must enter data for 0-9.
    {

        c.print ("\nPlease enter the name of batter number " + x + ":");
        name [x] = c.readLine ();

        c.print ("Please enter this batters batting average (ex .300): ...

[QUOTE=bibiki;1565119]you need an if statement. you need to check if a record held on the array you stored information corresponds to a player that is younger than 25 AND that has a batting average greater or equal to .280. is this of any help?[/QUOTE]

I've tried an if statement [code]for (x = 1 ; x <= 10 ; x++)
if (age[x] < 25 && bataverage[x] >= .280)
{
c.println ("Name " + name[x] + " Age: " + age[x] + " Position: " + position[x] + " Batting Average: " + bataverage[x]);
}[/code] a few times before, it works partially. It displays the batters with better than .280 average, but then it lists both their ages at zero. I placed this after the "for" statement. Is this a problem with the location of the "if" statement or do I need a different variable in the statement?

Hi, I'm a beginner with Java and I need help with an assignment:

Write a program that will help the Toronto Blue Jay's scouts decide which players they should draft next year. For each player the scouts have been watching, a record has been prepared showing the player's name, age, position, and batting average. Design a program that will ask the scout to enter information for 10 players into arrays. The program should then check each of the players and display statistics of only those players who are under 25 years old and have a batting average of .280 or better. Display the players that qualify sorted by their age.

A menu is required that has the following options:  
 Enter Blue Jay Data 
 Display possible Draft Choices 
 Exit Program 

I'm having trouble with having the program only display batters under 25 years of age and a batting average above or equal to .280.

[CODE] public class Bluejays3
{
static Console c;
static String name[] = new String [11];
static double bataverage[] = new double [11];
static int age[] = new int [11];
static String position[] = new String [11];
static int x;

public static void main (String[] args)
{
    c = new Console (); //Opens the console.

    int choice;

    do
    {
        c.print ("     Main Menu\n");
        c.print ("     *********\n");
        c.print ("     1. Enter Blue Jay Data");
        c.print ("\n     2. Display Possible Draft Choices");
        c.print ("\n     3. Exit");
        c.print ("\n     Select your choice 1-3: ");
        choice = c.readInt ();

        if (choice == ...