I am a newb, and whilst I'm sure my formatting can be improved, I really want to know, how I can re-use my code for this simple program. The objective is simple, football game with a menu, that allows game status to be loaded and saved.
MainmenuTest.java
package mainmenutest;
/**
*
* @author Darren Estcourt
*/
import java.util.InputMismatchException;
import java.util.Scanner;
public class MainmenuTest extends premierLeagueClubs{
int clubChoice;
public MainmenuTest(){
//constructor
}
public static void main(String args[]){
MainmenuTest team = new MainmenuTest();
team.getInput();
} // end main method
public void getInput(){
boolean exit = false;
int option=0;
while (!exit) {
try{
Scanner in = new Scanner(System.in);
menu();
System.out.println("\n");
option = in.nextInt();
} // end try
catch(InputMismatchException e) {
} // end catch
switch (option) {
case 1:
chooseTeam();
exit = true;
break;
case 2:
createProfile();
exit = true;
break;
case 3:
DeserializeDemo load = new DeserializeDemo();
load.Deserialize(clubChoice);
exit = true;
break;
case 4:
credits();
exit = true;
break;
case 5:
exit = true;
System.out.println("Goodbye!");
break;
case 6:
SerializeDemo save = new SerializeDemo();
save.Serialize(clubChoice);
exit = true;
break;
default:
System.out.println("Invalid option");
} // end switch
} // end loop
} // end getInput
public int chooseTeam(){
boolean exit = false;
while (!exit) {
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("Please enter an option 1-20 to select a team, or 21 to quit : ");
System.out.println("1. Arsenal");
System.out.println("2. Aston Villa");
System.out.println("3. Bournemouth");
System.out.println("4. Chelsea");
System.out.println("5. Crystal Palace");
System.out.println("6. Everton");
System.out.println("7. Leicester City");
System.out.println("8. Liverpool");
System.out.println("9. Manchester United");
System.out.println("10. Manchester City");
System.out.println("11. Newcastle United");
System.out.println("12. Norwich City");
System.out.println("13. Southampton");
System.out.println("14. Stoke City");
System.out.println("15. Sunderland");
System.out.println("16. Swansea City");
System.out.println("17. Tottenham Hotspur");
System.out.println("18. Watford");
System.out.println("19. West Brom");
System.out.println("20. West Ham United");
System.out.println("\n");
System.out.println("21. Quit");
System.out.println("22. Mainmenu");
try{
Scanner in = new Scanner(System.in);
System.out.println("\n");
clubChoice = in.nextInt();
} // end try
catch(InputMismatchException e) {
} // end catch
switch(clubChoice){
case 1:
arsenal();
exit = true;
break;
case 2:
astonVilla();
exit = true;
break;
case 3:
bournemouth();
exit = true;
break;
case 4:
chelsea();
exit = true;
break;
case 5:
crystalPalace();
exit = true;
break;
case 6:
everton();
exit = true;
break;
case 7:
leicester();
exit = true;
break;
case 8:
liverpool();
exit = true;
break;
case 9:
manchesterUnited();
exit = true;
break;
case 10:
manchesterCity();
exit = true;
break;
case 11:
newcastleUnited();
exit = true;
break;
case 12:
norwichCity();
exit = true;
break;
case 13:
southampton();
exit = true;
break;
case 14:
stokeCity();
exit = true;
break;
case 15:
sunderland();
exit = true;
break;
case 16:
swanseaCity();
exit = true;
break;
case 17:
tottenhamHotspur();
exit = true;
break;
case 18:
watford();
exit = true;
break;
case 19:
westBrom();
exit = true;
break;
case 20:
westHamUnited();
exit = true;
break;
case 21:
System.out.println("Goodbye!");
exit = true;
break;
case 22:
getInput();
exit = true;
break;
} // end switch
} // end loop
return clubChoice;
} // end chooseTeam
public void createProfile(){
} // end createProfile
public void credits(){
} // end credits
public void menu(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("Created by Darren Estcourt");
System.out.println("\n");
System.out.println("Please choose an option between 1 - 6 : ");
System.out.println("\n");
System.out.println("1. Choose team");
System.out.println("\n");
System.out.println("2. Create profile");
System.out.println("\n");
System.out.println("3. Load game");
System.out.println("\n");
System.out.println("4. Credits");
System.out.println("\n");
System.out.println("5. Quit");
System.out.println("\n");
System.out.println("6. Save game");
System.out.println("\n");
} // end menu
} // end class MainmenuTest
ClubInfo.java
package mainmenutest;
/**
*
* @author Darren Estcourt
*/
//import java.util.InputMismatchException;
//import java.util.Scanner;
//import java.io.*;
//import java.util.Arrays;
public class ClubInfo implements java.io.Serializable{
public String teamName;
public String stadium;
public String division;
public transient int SSN;
public int stadiumCapacity;
} // end ClubInfo class
premierLeagueClubs.java
package mainmenutest;
public class premierLeagueClubs{
public void arsenal(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Arsenal!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method arsenal
public void astonVilla(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Aston Villa!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method astonVilla
public void bournemouth(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Bournemouth!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method bournemouth
public void chelsea(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Chelsea!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method chelsea
public void crystalPalace(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Crystal Palace!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method crystalPalace
public void everton(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Everton!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method everton
public void leicester(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Leicester!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method leicester
public void liverpool(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Liverpool!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method liverpool
public void manchesterCity(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Manchester City!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method manchesterCity
public void manchesterUnited(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Manchester United!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method manchesterUnited
public void newcastleUnited(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Newcastle United!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method newcastleUnited
public void norwichCity(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Norwich City!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method norwichCity
public void southampton(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Southampton!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method southampton
public void stokeCity(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Stoke City!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method stokeCity
public void sunderland(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Sunderland!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method sunderland
public void swanseaCity(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Swansea City!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method swanseaCity
public void tottenhamHotspur(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Tottenham Hotspur!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method tottenhamHotspur
public void watford(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of Watford!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method watford
public void westBrom(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of West Bromich Albion!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method westBrom
public void westHamUnited(){
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
System.out.println("You are the new manager of West Ham United!");
System.out.println("\n");
System.out.println("Press any key to continue...");
MainmenuTest back = new MainmenuTest();
back.getInput();
} // end method westHamUnited
} // end class premierLeagueClubs
SerializeDemo.java
package mainmenutest;
import java.io.*;
public class SerializeDemo
{
public void Serialize(int clubChoice)
{
ClubInfo club = new ClubInfo();
ClubInfo club2 = new ClubInfo();
club.teamName = "Arsenal";
club.stadium = "Emirates";
club.division = "Premier League";
club.SSN = 11122333;
club.stadiumCapacity = 60000;
club2.teamName = "Aston Villa";
try
{
FileOutputStream fileOut =
new FileOutputStream("C:/tmp/club.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
// if (clubChoice == 1){
out.writeObject(club);
out.writeObject(club2);
// out.close();
// fileOut.close();
// }
// else
// if (clubChoice == 2){
// out.writeObject(club2);
//out2.close();
//fileout2.close();
// }
System.out.printf("Serialized data is saved in C:/tmp/club.ser");
}catch(IOException i)
{
i.printStackTrace();
}
}
} // end class SerializeDemo
DeserializeDemo.java
package mainmenutest;
/**
*
* @author Darren Estcourt
*/
import java.io.*;
public class DeserializeDemo
{
public void Deserialize(int clubChoice)
{
ClubInfo club = null;
ClubInfo club2 = null;
try
{
FileInputStream fileIn = new FileInputStream("C:/tmp/club.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
// ObjectInputStream in2 = new ObjectInputStream(fileIn);
// if (clubChoice == 1){
club = (ClubInfo) in.readObject();
club2 = (ClubInfo) in.readObject();
// in.close();
// fileIn.close();
// } // end if
// if (clubChoice == 2){
// club2 = (ClubInfo) in2.readObject();
// in2.close();
// fileIn.close();
// } // end if
}catch(IOException i)
{
i.printStackTrace();
return;
}catch(ClassNotFoundException c)
{
System.out.println("Club class not found");
c.printStackTrace();
return;
}
System.out.println("Saved game loaded...");
System.out.println("Name: " + club.teamName);
System.out.println("Stadium: " + club.stadium);
System.out.println("Division: " + club.division);
// System.out.println("SSN: " + club.SSN);
System.out.println("Stadium Capacity: " + club.stadiumCapacity);
System.out.println("Name : " + club2.teamName);
}
}