Skip to content
Advertisement

Java Exercise: I’m not sure what I’m doing wrong and all help is appreciated

I am working with the following pieces of code and I keep getting this error message: Error: Main method not found in class Team, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application. All suggestions, opinions, and changes are welcome as I am completely lost on why this isn’t working. Thanks so much in advance and I hope you all have a great day!

Game.java:

public class Game {

  private Team team1;
  private Team team2;
  private String time;

  public Game(Team t1, Team t2, String time) {
    super();

    this.team1 = team1;
    this.team2 = team2;
    this.time = time;
  }

  public String getTime() {
    return "TIME";
  }

}


Team.java:

public class Team {

  private String name;
  private String sport;
  private String mascot;
  public final static String MOTTO = "Sportsmanship!";

  public Team(String name, String sport, String mascot) {
    this.name = name;
    this.sport = sport;
    this.mascot = mascot;
  }

  //method to set the school name
  public String getName() {
    return name;
  }

  //method to set the sport name
  public String getSport() {
    return sport;
  }

  //method to set the team name
  public String getMascot() {
    return mascot;
  }
}


TestGame.java:

public class TestGame {

  public static void main(String[] args) {
    Team team1 = new Team("Roosevelt High", "Girls Basketball", "Dolphins");
    Team team2 = new Team("Hoover High", "Girls Basketball", "Tigers");
    Game game1 = new Game(team1, team2, "7 PM");

    System.out.println("The game between " + team1.getName() + " " + team1.getSport() +
        " " + team1.getMascot());
    System.out.println("   and " + team2.getName() + " " + team2.getSport() +
        " " + team2.getMascot());
    System.out.println("   takes place at " + game1.getTime());
  }
}


TestTeam.java:

public class TestTeam {

  public static void main(String[] args) {
    Team team1 = new Team("Roosevelt High", "Girls Basketball", "Dolphins");
    Team team2 = new Team("Hoover High", "Boys Wrestling", "Tigers");
    Team team3 = new Team("Lincoln High", "Girls Field Hockey", "Gators");
    display(team1);
    display(team2);
    display(team3);
  }

  public static void display(Team team) {
    System.out.println(
        team.getName() + "" + team.getSport() + "" + team.getMascot() + ""
            + Team.MOTTO);
  }
}

Advertisement

Answer

  1. Your Game.java class is incomplete, it doesn’t have getTime method. Also there are missed some curly brackets. Complete it please.
  2. Also your TestGame class has not t1, t2 and g variables. It has team1, team2 and game instead. Fix this too.
  3. You have an error inside your display method. You pass here only one Team t, but inside this method you’re trying to print data from some team1, team2, team3 variables. They just doesn’t exists in that scope.
  4. Inside the display method you’re trying to get static class variable vie instance. There is no sence in that.

Here is an example of working code.

Game.java:

public class Game {

  private Team team1;
  private Team team2;
  private String time;

  public Game(Team t1, Team t2, String time) {
    super();

    this.team1 = team1;
    this.team2 = team2;
    this.time = time;
  }

  public String getTime() {
    return "TIME";
  }

}

Team.java:

public class Team {

  private String name;
  private String sport;
  private String mascot;
  public final static String MOTTO = "Sportsmanship!";

  public Team(String name, String sport, String mascot) {
    this.name = name;
    this.sport = sport;
    this.mascot = mascot;
  }

  //method to set the school name
  public String getName() {
    return name;
  }

  //method to set the sport name
  public String getSport() {
    return sport;
  }

  //method to set the team name
  public String getMascot() {
    return mascot;
  }
}

TestGame.java:

public class TestGame {

  public static void main(String[] args) {
    Team team1 = new Team("Roosevelt High", "Girls Basketball", "Dolphins");
    Team team2 = new Team("Hoover High", "Girls Basketball", "Tigers");
    Game game1 = new Game(team1, team2, "7 PM");

    System.out.println("The game between " + team1.getName() + " " + team1.getSport() +
        " " + team1.getMascot());
    System.out.println("   and " + team2.getName() + " " + team2.getSport() +
        " " + team2.getMascot());
    System.out.println("   takes place at " + game1.getTime());
  }
}

TestTeam.java:

public class TestTeam {

  public static void main(String[] args) {
    Team team1 = new Team("Roosevelt High", "Girls Basketball", "Dolphins");
    Team team2 = new Team("Hoover High", "Boys Wrestling", "Tigers");
    Team team3 = new Team("Lincoln High", "Girls Field Hockey", "Gators");
    display(team1);
    display(team2);
    display(team3);
  }

  public static void display(Team team) {
    System.out.println(
        team.getName() + "" + team.getSport() + "" + team.getMascot() + ""
            + Team.MOTTO);
  }
}
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement