So I have been tasked with creating a program that is essentially a planner for a person. It has to have the abilities to add events of 3 types(Party, Dance Class,Club Meeting). It then has to be able to display everything enter, and be able to display the things that occur on the same date, date from the user. Finally it has to check if you have 2 events that occur on the same day, and then check the time against it. So for right now I have a decent amount of base code but I'm having trouble with the adding events part, and my gut tells me that I need to switch my array from the driver program to my SocialEvent Class. So my question is how would I go about adding objects to an array that come from 3 subclasses, and then be able to access that information in the superclass so that it can be checked. Heres what I have so far.
import java.util.Scanner;
public class TestSocialEvent {
/**
* @author Alexander Chamerlaion
* @Version 1.0
* @Date 10/12/11
* This program creates and tests Social Events
*/
static String title, attire, dayweek,input,time;
static int day,month,year;
public static void main(String[] args) {
Scanner k = new Scanner(System.in);
System.out.println("Social Planner");
SocialEvent ev = new SocialEvent(attire, dayweek, title, day, month, year,time);
while(true){
System.out.println("Please enter the type of party you are attending \n(Party, Club Meeting, Dance Class, Display,Quit)");
String input = k.nextLine();
input.toLowerCase();
if(input.equals("party")){
System.out.println("Choosen a Party");
Party party = new Party(title, attire, time, year,day,month,dayweek);
System.out.println("Please enter a description of your event: ");
title=k.nextLine();
System.out.println("Please Enter an attire: ");
attire = k.nextLine();
System.out.println("Please Enter an time: ");
time=k.nextLine();
System.out.println("Please enter the date input the day first: ");
day=k.nextInt();
System.out.println("Month: ");
month=k.nextInt();
System.out.println("Year: ");
year=k.nextInt();
System.out.println("Please enter the day it occurs on(Monday,Tuesday,etc): ");
dayweek=k.nextLine();
party.setPartyTime(time);
party.setPartyTitle(title);
party.setPartyAttire(attire);
party.setPartyMonth(month);
party.setPartyYear(year);
party.setPartyDay(day);
ev.addParty(attire, dayweek, title, day, month, year,time);
}
else if(input.equals("club meeting")){
System.out.println("Choosen a Club Meeting");
System.out.println("Please enter a description of your event: ");
title=k.nextLine();
System.out.println("Please Enter an attire: ");
attire = k.nextLine();
System.out.println("Please Enter an time (hhmm): ");
time=k.nextLine();
System.out.println("Please enter the date input the day first: ");
day=k.nextInt();
System.out.println("Month: ");
month=k.nextInt();
System.out.println("Year: ");
year=k.nextInt();
System.out.println("Please enter the day it occurs on(Monday,Tuesday,etc): ");
dayweek=k.nextLine();
ClubMeeting club = new ClubMeeting(title, attire, time, year,day,month,dayweek);
club.setClubTitle(title);
club.setClubAttire(attire);
club.setClubTime(time);
club.setClubDay(day);
club.setClubMonth(month);
club.setClubYear(year);
club.setClubDayweek(dayweek);
ev.addClubMeeting(attire, dayweek, title, day, month, year,time);
}
else if (input.equals("dance class")){
System.out.println("Choosen a Dance Class");
System.out.println("Please enter a description of your event: ");
title=k.nextLine();
System.out.println("Please Enter an attire: ");
attire = k.nextLine();
System.out.println("Please Enter an time: ");
time=k.nextLine();
System.out.println("Please enter the date input the day first: ");
day=k.nextInt();
System.out.println("Month: ");
month=k.nextInt();
System.out.println("Year: ");
year=k.nextInt();
System.out.println("Please enter the day it occurs on: ");
dayweek=k.next();
DanceClass dance = new DanceClass(attire, title, time, day, month, year, dayweek);
dance.setDanceTitle(title);
dance.setDanceAttire(attire);
dance.setDanceTime(time);
dance.setDanceDay(day);
dance.setDanceMonth(month);
dance.setDanceYear(year);
dance.setDanceDayweek(dayweek);
ev.addDanceClass(attire, dayweek, title, day, month, year,time);
ev.display();
}
else if(input.equals("display")){
System.out.println("Choosen to Display Social Planner");
ev.display();
}
else if(input.equals("quit"));
break;
}
}
}
public class SocialEvent {
private String title;
private String attire;
private String time;
private int day;
private int month;
private int year;
private String dayweek;
private int count=0;
private SocialEvent[] events = new SocialEvent[100];
public SocialEvent(String attire,String dayweek, String title,int day,int month,int year, String time){
this.attire = attire;
this.dayweek = dayweek;
this.title = title;
this.day = day;
this.month = month;
this.year = year;
this.time = time;
}
public void addParty(String attire,String dayweek, String title,int day,int month,int year, String time) {
if (count < events.length) {
events[count] = new Party(attire, dayweek, title, day, month, year, time);
count++;
}
}
public void addDanceClass(String attire,String dayweek, String title,int day,int month,int year, String time) {
if (count < events.length) {
events[count] = new DanceClass(attire, dayweek, title, day, month, year, time);
count++;
}
}
public void addClubMeeting(String attire,String dayweek, String title,int day,int month,int year, String time) {
if (count < events.length) {
events[count] = new ClubMeeting(attire, dayweek, title, day, month, year, time);
count++;
}
}
public void display(){
for(int i = 0; i<count; i++){
System.out.println(events[i].toString());
}
}
}
public class Party extends SocialEvent {
private String partyAttire,partyTitle,partyDayweek,partyTime;
private int partyDay,partyMonth,partyYear;
public Party(String attire,String dayweek, String title,int day,int month,int year, String time){
super(attire, dayweek, title, day, month, year,time);
this.partyAttire=attire;
this.partyDayweek=dayweek;
this.partyTime=time;
this.partyTitle=title;
this.partyDay=day;
this.partyMonth=month;
this.partyYear=year;
}
public void setPartyTime(String partyTime){
if(partyTime.length()>2||partyTime.length()<3){
this.partyTime=partyTime.substring(0,1)+":"+partyTime.substring(1,2);
}
else if(partyTime.length()>3){
this.partyTime=partyTime.substring(1,2)+":"+partyTime.substring(2,3);
}
else{
System.out.println("Invalid Time ");
}
}
public String getPartyAttire() {
return partyAttire;
}
public void setPartyAttire(String partyAttire) {
this.partyAttire = partyAttire;
}
public String getPartyTitle() {
return partyTitle;
}
public void setPartyTitle(String partyTitle) {
this.partyTitle = partyTitle;
}
public String getPartyDayweek() {
return partyDayweek;
}
public void setPartyDayweek(String partyDayweek) {
this.partyDayweek = partyDayweek;
}
public int getPartyDay() {
return partyDay;
}
public void setPartyDay(int partyDay) {
if(partyDay>31){
System.out.println("You've Entered An Invalid Day ");
}
else{
this.partyDay=partyDay;
}
}
public int getPartyMonth() {
return partyMonth;
}
public void setPartyMonth(int partyMonth) {
if(partyMonth>12){
System.out.println("You've Entered An Invalid Day ");
}
else{
this.partyMonth=partyMonth;
}
}
public int getPartyYear() {
return partyYear;
}
public void setPartyYear(int partyYear) {
this.partyYear = partyYear;
}
public String toString(){
return "Title: "+partyTitle+"\nAttire: "+partyAttire+"\nDate: "+partyMonth+"/"+partyDay+"/"+partyYear+"\nDay of the Week: "+
partyDayweek+"\nTime: "+partyTime;
}
}
public class DanceClass extends SocialEvent {
private String danceAttire,danceTitle,danceDayweek,danceTime;
private int danceDay,danceMonth,danceYear;
public DanceClass(String attire,String dayweek, String title,int day,int month,int year, String time){
super(attire, dayweek, title,day,month,year, time);
this.danceAttire=attire;
this.danceTitle=title;
this.danceDayweek=dayweek;
this.danceTime=time;
this.danceDay=day;
this.danceMonth=month;
this.danceYear=year;
}
public String getDanceAttire() {
return danceAttire;
}
public void setDanceAttire(String danceAttire) {
this.danceAttire = danceAttire;
}
public String getDanceTitle() {
return danceTitle;
}
public void setDanceTitle(String danceTitle) {
this.danceTitle = danceTitle;
}
public String getDanceDayweek() {
return danceDayweek;
}
public void setDanceDayweek(String danceDayweek) {
this.danceDayweek = danceDayweek;
}
public String getDanceTime() {
return danceTime;
}
public void setDanceTime(String danceTime) {
if(danceTime.length()>2||danceTime.length()<3){
this.danceTime=danceTime.substring(0,1)+":"+danceTime.substring(1,2);
}
else if(danceTime.length()>3){
this.danceTime=danceTime.substring(1,2)+":"+danceTime.substring(2,3);
}
else{
System.out.println("Invalid Time ");
}
}
public int getDanceDay() {
return danceDay;
}
public void setDanceDay(int danceDay) {
if(danceDay>31){
System.out.println("You've Entered An Invalid Day ");
}
else{
this.danceDay=danceDay;
}
}
public int getDanceMonth() {
return danceMonth;
}
public void setDanceMonth(int danceMonth) {
if(danceMonth>12){
System.out.println("You've Entered An Invalid Month ");
}
else{
this.danceDay=danceDay;
}
}
public int getDanceYear() {
return danceYear;
}
public void setDanceYear(int danceYear) {
this.danceYear = danceYear;
}
public String toString(){
return "Title: "+danceTitle+"\nAttire: "+danceAttire+"\nDate: "+danceMonth+"/"+danceDay+"/"+danceYear+"\nDay of the Week: "+
danceDayweek+"\nTime: "+danceTime;
}
}
public class ClubMeeting extends SocialEvent {
private String clubAttire,clubTitle,clubDayweek,clubTime;
private int clubDay,clubMonth,clubYear;
public ClubMeeting(String attire,String dayweek, String title,int day,int month,int year, String time) {
super(attire,dayweek,title,day,month,year,time);
this.clubAttire=attire;
this.clubTitle=title;
this.clubDay=day;
this.clubMonth=month;
this.clubYear=year;
this.clubTime=time;
this.clubDayweek=dayweek;
}
public String getClubAttire() {
return clubAttire;
}
public void setClubAttire(String clubAttire) {
this.clubAttire = clubAttire;
}
public String getClubTitle() {
return clubTitle;
}
public void setClubTitle(String clubTitle) {
this.clubTitle = clubTitle;
}
public String getClubDayweek() {
return clubDayweek;
}
public void setClubDayweek(String clubDayweek) {
this.clubDayweek = clubDayweek;
}
public String getClubTime() {
return clubTime;
}
public void setClubTime(String clubTime) {
if(clubTime.length()>2||clubTime.length()<3){
this.clubTime=clubTime.substring(0,1)+":"+clubTime.substring(1,2);
}
else if(clubTime.length()>3){
this.clubTime=clubTime.substring(1,2)+":"+clubTime.substring(2,3);
}
else{
System.out.println("Invalid Time ");
}
}
public void setClubDay(int clubDay) {
if(clubDay>31){
System.out.println("You've Entered An Invalid Day ");
}
else{
this.clubDay=clubDay;
}
}
public int getClubDay() {
return clubDay;
}
public int getClubMonth() {
return clubMonth;
}
public void setClubMonth(int clubMonth) {
if(clubMonth>12){
System.out.println("You've Entered An Invalid Month ");
}
else{
this.clubMonth=clubMonth;
}
}
public int getClubYear() {
return clubYear;
}
public void setClubYear(int clubYear) {
this.clubYear = clubYear;
}
public String toString(){
return "Title: "+clubTitle+"\nAttire: "+clubAttire+"\nDate: "+clubMonth+"/"+clubDay+"/"+clubYear+"\nDay of the Week: "+
clubDayweek+"\nTime: "+clubTime;
}
}