joebanks 0 Newbie Poster

im trying to call a showInfo() method from a superclass MediaTypes, the subclass is CD and the driver class is Assn2. the problem im having is that for all the values i inherit from the MediaTypes class im getting only null values and for the gregorian date im getting a real long string...any input in to this would be great....

import java.util.Date;
import javax.swing.*;

 
public class Assn2{
	
	private MediaTypes[] myMedia; 
	private Date release;
	private boolean go = true;
	
	public static void main(String[] args)
	{
			new Assn2();		 
	}
		
	//-------------------------------------------------------------------------------
		//   Procedure:	Assn2
		//
		//	 Summary: main driver method for program 
	//-------------------------------------------------------------------------------
	public Assn2()
	{
		
		//initialize data members
		myMedia = new MediaTypes[5]; //provide a dimension for the array
	
	
		while(go == true)
		{
			//main menu for navigating program 
			Object[] possibleValues = { "Make New Entry",
		                            "View Entries",
		                            "Clear Entires",
		                            "Oldest Entries First",
		                            "Newest Entries First",
		                            "Exit"};
		
			Object selectedValue = JOptionPane.showInputDialog(null,
		                                                   "Please select one of the following:",
		                                                   "Input",
		                                                   JOptionPane.INFORMATION_MESSAGE,
		                                                   null,
		                                                   possibleValues,
		                                                   possibleValues[0]);
			
			if(selectedValue.equals(possibleValues[0]))
			{
			
				//select Media Type to enter new 
				Object[] possibleMedia = {"Music", "Movies", "Print"};
			
				Object selectedMedia = JOptionPane.showInputDialog(null, "Please select your media type:",
														       "Input",
														       JOptionPane.INFORMATION_MESSAGE,
														       null,
														       possibleMedia,
															   possibleMedia[0]);
															   
		
			
				if(selectedMedia.equals(possibleMedia[0]))
				{
					Object[] musicChoices = {"CD", "Cassette"};
				
					Object selectedMusic = JOptionPane.showInputDialog(null, "Please select your music type:",
														       "Input",
														       JOptionPane.INFORMATION_MESSAGE,
														       null,
														       musicChoices,
			
														       musicChoices[0]);
					//make new cd
					if(selectedMusic.equals(musicChoices[0]))
					{
						makeNewCD();
					}
					//make new cassette
					else {makeNewCassette();}
				
				}
							
				if(selectedMedia.equals(possibleMedia[1]))
				{
					Object[] movieChoices = {"DVD", "VHS"};
				
					Object selectedMovie = JOptionPane.showInputDialog(null, "Please select your Movie type:",
														       "Input",
														       JOptionPane.INFORMATION_MESSAGE,
														       null,
														       movieChoices,
														       movieChoices[0]);
					//make new DVD
					if(selectedMovie.equals(movieChoices[0]))
					{
						makeNewDVD();
					}
					//make new VHS
					else {makeNewVHS();}
				}
			
				if(selectedMedia.equals(possibleMedia[2]))
				{
					Object[] printChoices = {"Magazine", "Book"};
				
					Object selectedPrint = JOptionPane.showInputDialog(null, "Please select your Print type:",
														       "Input",
														       JOptionPane.INFORMATION_MESSAGE,
														       null,
														       printChoices,
														       printChoices[0]);
					//make new Magazine
					if(selectedPrint.equals(printChoices[0]))
					{
						makeNewMagazine();
					}
					//make new Book
					else {makeNewBook();}									       
				}		
		                                                   
		    }  
		    
		     
			//view all entries in the MediaTypes array 
			if(selectedValue.equals(possibleValues[1]))
			{	
				showInfo();
			}
		
			//clear all entries in the MediaTypes array 
			if(selectedValue.equals(possibleValues[2]))
			{
				clearAll();
			}
		
			//sort by oldest first and 
			//show the entries in that order 
			if(selectedValue.equals(possibleValues[3]))
			{
				JOptionPane.showMessageDialog(null,"Entries have been sorted by Oldest to Newest");
				sortByOldest();
			}
		
			//sort by newest first and 
			//show entriest in that order 
			if(selectedValue.equals(possibleValues[4]))
			{
				JOptionPane.showMessageDialog(null,"Entries have been sorted by Newest to Oldest");
				sortByNewest();
			}
		
			//user selected exit the program....
			//make sure they really want to exit 
			if(selectedValue.equals(possibleValues[5]))
			{
				exitProgram();
			}
	 	}
		
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	makeNewCD
		//
		//	 Summary: creates and adds a new CD entry into media types array  
	//-------------------------------------------------------------------------------   
	public void makeNewCD()
	{
		if(MediaTypes.getCounter() <=4)
			{
				//prompt user for entries 		
				String title = JOptionPane.showInputDialog("Enter name of CD");
				String genre = JOptionPane.showInputDialog("Enter type of music");
				String label = JOptionPane.showInputDialog("Enter label the artist is on");
				String artist = JOptionPane.showInputDialog("Enter artist name");
				try
				{
				
					String day = JOptionPane.showInputDialog("Enter day of release");
					int d = Integer.parseInt(day);
				
					String month = JOptionPane.showInputDialog("Enter month of release");
					int m = Integer.parseInt(month);
				
					String year = JOptionPane.showInputDialog("Enter year of release");
					int y = Integer.parseInt(year);
								
					myMedia[MediaTypes.getCounter()] = new CD(artist, title, d, m, y, genre, label );
			
				//	if(myMedia[counter] != null){counter++;}
					
				}
				catch(Exception Ex)
				{
				
					JOptionPane.showMessageDialog(null, "Invalid input entered");
				}
				
		 	}
		else JOptionPane.showMessageDialog(null, "The MediaTypes array is full, you cannot add more MediaTypes's");
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	makeNewCassette
		//
		//	 Summary: creates and adds a new Cassette entry into media types array  
	//-------------------------------------------------------------------------------  
	public void makeNewCassette()
	{
		if(MediaTypes.getCounter() <=4)
			{
				//prompt user for entries 		
				String title = JOptionPane.showInputDialog("Enter name of Cassette");
				String genre = JOptionPane.showInputDialog("Enter type of music");
				String label = JOptionPane.showInputDialog("Enter label the artist is on");
				String mixtape = JOptionPane.showInputDialog("Is it a mixtape?");
				try
				{
				
					String day = JOptionPane.showInputDialog("Enter day of release");
					int d = Integer.parseInt(day);
				
					String month = JOptionPane.showInputDialog("Enter month of release");
					int m = Integer.parseInt(month);
				
					String year = JOptionPane.showInputDialog("Enter year of release");
					int y = Integer.parseInt(year);
								
					myMedia[MediaTypes.getCounter()] = new Cassette(title, d, m, y, label, genre, mixtape );
			
				//	if(myMedia[counter] != null){counter++;}
					
				}
				catch(Exception Ex)
				{
				
					JOptionPane.showMessageDialog(null, "Invalid input entered");
				}
				
		 	}
		else JOptionPane.showMessageDialog(null, "The MediaTypes array is full, you cannot add more MediaTypes's");
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	makeNewDVD
		//
		//	 Summary: creates and adds a new DVD entry into media types array  
	//------------------------------------------------------------------------------- 
	public void makeNewDVD()
	{
		if(MediaTypes.getCounter() <=4)
			{
				//prompt user for entries 		
				String title = JOptionPane.showInputDialog("Enter title of DVD");
				String genre = JOptionPane.showInputDialog("Enter genre of movie");
				String dir = JOptionPane.showInputDialog("Enter the director of the movie");
				String pirated = JOptionPane.showInputDialog("Is this movie pirated?");
				try
				{
				
					String day = JOptionPane.showInputDialog("Enter day of release");
					int d = Integer.parseInt(day);
				
					String month = JOptionPane.showInputDialog("Enter month of release");
					int m = Integer.parseInt(month);
				
					String year = JOptionPane.showInputDialog("Enter year of release");
					int y = Integer.parseInt(year);
								
					myMedia[MediaTypes.getCounter()] = new DVD(title, dir, d, m, y,  genre, pirated );
			
				//	if(myMedia[counter] != null){counter++;}
					
				}
				catch(Exception Ex)
				{
				
					JOptionPane.showMessageDialog(null, "Invalid input entered");
				}
				
		 	}
		else JOptionPane.showMessageDialog(null, "The MediaTypes array is full, you cannot add more MediaTypes's");
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	makeNewVHS
		//
		//	 Summary: creates and adds a new VHS entry into media types array  
	//------------------------------------------------------------------------------- 
	public void makeNewVHS()
	{
		if(MediaTypes.getCounter() <=4)
			{
				//prompt user for entries 		
				String title = JOptionPane.showInputDialog("Enter title of VHS tape");
				String genre = JOptionPane.showInputDialog("Enter genre of the movie");
				String dir = JOptionPane.showInputDialog("Enter the director of the movie");
				
				try
				{
				
					String day = JOptionPane.showInputDialog("Enter day of release");
					int d = Integer.parseInt(day);
				
					String month = JOptionPane.showInputDialog("Enter month of release");
					int m = Integer.parseInt(month);
				
					String year = JOptionPane.showInputDialog("Enter year of release");
					int y = Integer.parseInt(year);
								
					myMedia[MediaTypes.getCounter()] = new VHS(title, dir, d, m, y, genre);
			
				//	if(myMedia[counter] != null){counter++;}
					
				}
				catch(Exception Ex)
				{
				
					JOptionPane.showMessageDialog(null, "Invalid input entered");
				}
				
		 	}
		else JOptionPane.showMessageDialog(null, "The MediaTypes array is full, you cannot add more MediaTypes's");
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	makeNewMagazine
		//
		//	 Summary: creates and adds a new magazine entry into media types array  
	//------------------------------------------------------------------------------- 
	public void makeNewMagazine()
	{
		if(MediaTypes.getCounter() <=4)
			{
				//prompt user for entries 		
				String title = JOptionPane.showInputDialog("Enter name of Magazine");
				String genre = JOptionPane.showInputDialog("Enter type of magazine");
								
				try
				{
					String issue = JOptionPane.showInputDialog("Enter issue number");
					int i = Integer.parseInt(issue);
				
					String day = JOptionPane.showInputDialog("Enter day of release");
					int d = Integer.parseInt(day);
				
					String month = JOptionPane.showInputDialog("Enter month of release");
					int m = Integer.parseInt(month);
				
					String year = JOptionPane.showInputDialog("Enter year of release");
					int y = Integer.parseInt(year);
								
					myMedia[MediaTypes.getCounter()] = new Magazine(title, d, m, y, i, genre);
			
				//	if(myMedia[counter] != null){counter++;}
					
				}
				catch(Exception Ex)
				{
					
					JOptionPane.showMessageDialog(null, "Invalid input entered");
					
				}
				
		 	}
		else JOptionPane.showMessageDialog(null, "The MediaTypes array is full, you cannot add more MediaTypes's");
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	makeNewBook
		//
		//	 Summary: creates and adds a new book entry into media types array  
	//-------------------------------------------------------------------------------
	public void makeNewBook()
	{
		if(MediaTypes.getCounter() <=4)
			{
				//prompt user for entries 		
				String title = JOptionPane.showInputDialog("Enter name of Book");
				String author = JOptionPane.showInputDialog("Enter author's name");
				String genre = JOptionPane.showInputDialog("Enter Fiction or NonFiction");
				String publisher = JOptionPane.showInputDialog("Enter publisher");
				String hardorpaper = JOptionPane.showInputDialog("Enter hard back or paper back");
				
				try
				{
				
					String day = JOptionPane.showInputDialog("Enter day of release");
					int d = Integer.parseInt(day);
				
					String month = JOptionPane.showInputDialog("Enter month of release");
					int m = Integer.parseInt(month);
				
					String year = JOptionPane.showInputDialog("Enter year of release");
					int y = Integer.parseInt(year);
								
					myMedia[MediaTypes.getCounter()] = new Book(author, title, publisher, d, m, y, genre, hardorpaper);
			
				//	if(myMedia[counter] != null){counter++;}
					
				}
				catch(Exception Ex)
				{
				
					JOptionPane.showMessageDialog(null, "Invalid input entered");
				}
				
		 	}
		else JOptionPane.showMessageDialog(null, "The MediaTypes array is full, you cannot add more MediaTypes's");
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	showInfo
		//
		//	 Summary: displays all entries in the media types array  
	//-------------------------------------------------------------------------------
	public void showInfo()
	{
	
			String output = "";
		
			for(int count = 0; count < myMedia.length; count++)
			{
				if(myMedia[count] != null)
			  output += myMedia[count].showInfo() + "\n";		
        
			}
			
			JOptionPane.showMessageDialog(null, output, "All MediaTypess in list", JOptionPane.INFORMATION_MESSAGE);
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	clearAll
		//
		//	 Summary: clears all entries in the media types array 
	//-------------------------------------------------------------------------------
	public void clearAll()
	{
		String clear = JOptionPane.showInputDialog("Clear all Entries in MediaTypes Collection?");
		 
		Object[] option = { "Yes",
		                     "No"
		                    };
		
		Object decision = JOptionPane.showInputDialog(null,
		                                              "Please select one of the following:",
		                                              "Input",
		                                               JOptionPane.INFORMATION_MESSAGE,
		                                               null,
		                                               option,
		                                               option[0]);
		                                                   
		if(decision.equals(option[0]))
		{
		    for(int j = 0; j < myMedia.length; j++)
		    {
		       if(myMedia[j] != null)
		       {
		       		myMedia[j] = null;
		       }
		    }
		}
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	sortByNewest
		//
		//	 Summary: sorts array values newest to oldest
	//-------------------------------------------------------------------------------
	public void sortByNewest()
	{
		if(MediaTypes.getCounter() > 1)
		{
			MediaTypes extra = new MediaTypes();
		
			for(int outer = 0; outer < MediaTypes.getCounter() - 1; outer++)
			{
				for(int inner = 0; inner < MediaTypes.getCounter() - 1; inner++)
				{
				
					if( myMedia[inner].getreleaseDate().before(myMedia[inner + 1].getreleaseDate()))
					{					
					//this part i got help from robert 
					extra = myMedia[inner] ;
					myMedia[inner] = myMedia[inner + 1];
					myMedia[inner + 1] = extra;
					}
				}
			}
		}
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	sortByOldest
		//
		//	 Summary: sorts array values oldest to newest
	//-------------------------------------------------------------------------------
	public void sortByOldest()
	{
		if(MediaTypes.getCounter() > 1)
		{
			MediaTypes extra = new MediaTypes();
		
			for(int outer = 0; outer < MediaTypes.getCounter() - 1; outer++)
			{
				for(int inner = 0; inner < MediaTypes.getCounter() - 1; inner++)
				{
				
					if( myMedia[inner].getreleaseDate().after(myMedia[inner + 1].getreleaseDate()))
					{					
					//this part i got help from robert 
					extra = myMedia[inner] ;
					myMedia[inner] = myMedia[inner + 1];
					myMedia[inner + 1] = extra;
					}
				}
			}
		}
	}
	
	//-------------------------------------------------------------------------------
		//   Procedure:	exitProgram
		//
		//	 Summary: provides user the means to exit the program 
	//-------------------------------------------------------------------------------
	public void exitProgram()
	{
		
		Object[] option = { "Yes",
		                    "No"
		                  };
		
		Object decision = JOptionPane.showInputDialog(null,
		                                             "Are you shure you want to exit?",
		                                             "Input",
		                                              JOptionPane.INFORMATION_MESSAGE,
		                                              null,
		                                              option,
		                                              option[0]);
		                                                   
		if(decision.equals(option[0]))
		{
		
		  	System.exit( 0 );
		}
	}
	
}//end class Assn2

import javax.swing.*;
import java.util.*;


public class CD extends MediaTypes
{
		
	private String artist;
	private String title;
	private Calendar releaseDate;
	private String label;
	private String genre;
	public static int counter = 0;	
	
	public CD(String a, String t, int d, int m, int y, String l, String g)
	{
		super(m, d, y, t, g);
		setArtist(a);
	//	setTitle(t);
	//	setreleaseDate(m,d,y) ;
		setLabel(l);
	//	setGenre(g);
		counter++;
		
	}
	public CD(){
	}
	
	public static void resetCounter(){
		counter = 0;
	
	}
	
	//set methods 
/*	public void setTitle(String t)
	{
		title = t;
	}
	public void setreleaseDate(int m, int d, int y)
	{
		Calendar releaseDate = new GregorianCalendar(y,m,d);
		this.releaseDate = releaseDate;
		
	}*/
	
	public void setArtist(String a)
	{
		artist = a;
		
	}   
	
	public void setLabel(String l)
	{
		label = l;
		
	}
	
/*	public void setGenre(String g)
	{
		genre = g;
		 
	}*/
	
	//get methods 
/*	public String getTitle()
	{
	    return title;
	}
	
	public Calendar getreleaseDate()
	{
	    return releaseDate;
	}*/
	
	public String getArtist()
	{
	    return artist;
	}
	
	public String getLabel()
	{
	    return label;
	}
	
/*	public String getGenre()
	{
	    return genre;
	}
	
	public static int getCounter()
	{
		return counter;
	}*/
	
	public  String showInfo()
	{
		
		String output= "";

		output += super.showInfo() + "  " + this.getArtist() + "  " + this.getLabel();
		
		return output;
	}


}

import javax.swing.*;
import java.util.*;


public class MediaTypes
{
		

	private  Calendar releaseDate;
	private  String title;
	private  String genre;
	public static int counter =  0;
	
	
	public MediaTypes(int d, int m, int y, String t, String g)
	{	
		setreleaseDate(m,d,y);
		setTitle(t);
		setGenre(g);		
		counter++;
	}
	
	public MediaTypes(){
	}
	
	public static void resetCounter(){
		counter = 0;
	
	}
	
	//set methods 

	public void setreleaseDate(int m, int d, int y)
	{
		Calendar releaseDate = new GregorianCalendar(y,m,d);
		this.releaseDate = releaseDate;		
	}
	
	public void setTitle(String t)
	{
		this.title = title;
	}
	
	public void setGenre(String g)
	{
		this.genre = genre;
		 
	}
	
	
	//get methods 	
	public Calendar getreleaseDate()
	{
	    return releaseDate;
	}
	
	public String getTitle()
	{
		return title;
	}
	
	public String getGenre()
	{
	    return genre;
	}
	
	public static int getCounter()
	{
		return counter;
	}	

	
	public String showInfo()
	{
		
		String output= "";
		output += "Title of CD: " + this.getTitle() + "  " + "Release Date: " + this.getreleaseDate() + "  " + "Genre: " + this.getGenre();
		
		return output;
	}


}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.