my professor refuses to tell me what I'm doing wrong and I for the life of my can't figure it out. I'm just starting java so I may look foolish but
import java.util.Scanner;
public class Library {
    MediaItem[] items = new MediaItem[100];
    int numberOfItems = 0;
    static int displayMenu(){
        @SuppressWarnings("resource")
        Scanner dog = new Scanner(System.in);
        System.out.println("Menu:\n1:Add New Item\n2:Mark Item as Loaned\n3:List All Items\n4:Mark Item as Returned\n5:Quit");
    int cat = dog.nextInt();
    return cat;
}
void addNewItem(String title, String format){
    MediaItem item = new MediaItem();
    item.setTitle(title);
    item.setFormat(format);
    items[numberOfItems] = item;
    numberOfItems++;
}
void markItemOnLoan(String title, String name, String date){
    for (int i=0;i<numberOfItems;i++){
        MediaItem item = items[i];
        String title5 = item.getTitle();
        if (title5 == title){
            item.markOnLoan(name, date);
            i=numberOfItems;
        }
        }
}
String[] listAllItems(){
    String[] all = new String[numberOfItems];
    for (int i=0;i<numberOfItems;i++){
        MediaItem item = items[i];
        if (item.onLoan=true){
            all[i]=item.getTitle()+" "+item.getFormat()+" "+item.getOnLoan()+" "+item.getLoanedTo()+" "+item.getDateLoaned()+" ";
        }else{
            all[i]=item.getTitle()+" "+item.getFormat()+" "+item.getOnLoan()+" ";
        }
    }
    return all;
}
void markItemReturned(String title){
    for (int i=0;i<numberOfItems;i++){
        MediaItem item = items[i];
        String title1 = item.getTitle();
        if (i==numberOfItems){
            System.out.println("Title not found.");
        }else if (title1 == title){
            item.markReturned();
            i=numberOfItems;
        }
        }
}
public static void main(String[] args) {
    Library banana = new Library();
    String invalid = "Invalid Option";
    @SuppressWarnings("resource")
    Scanner dog = new Scanner(System.in);
    for (int i=0; i==0;){
        int cat = displayMenu();
        if (cat<=0){
            System.out.println(invalid);
        }
        if (cat>=6){
            System.out.println(invalid);
        }
        switch (cat){
        case 1:
            System.out.println("What is the title of the item?");
            String title = dog.nextLine();
            System.out.println("What is the format of the item?");
            String format = dog.nextLine();
            banana.addNewItem(title, format);
            break;
        case 2:
            System.out.println("What is the title of the item?");
            String title1 = dog.nextLine();
            System.out.println("What is your name?");
            String name = dog.nextLine();
            System.out.println("What is the date?");
            String date = dog.nextLine();
            banana.markItemOnLoan(title1, name, date);
            break;
        case 3:
            String[] list = banana.listAllItems();
            System.out.println("List of all items:\n");
            for (int o=0;o<banana.numberOfItems;o++){
                System.out.println(list[o]);
            }
            break;
        case 4:
            System.out.println("What is the title you are returning?");
            String title2 = dog.nextLine();
            banana.markItemReturned(title2);
            break;
        case 5:
            i++;
            break;
        }
    }
}
}
I'm having this problem throughout my code but I figure if you guys can answer this one I can figure the rest out on my own. Edit: I'm getting further, now I just need to figure out why it isn't reading the name and date.
 
    