My program is supposed to prompt you to enter a team name, followed by the names of the four team members, and then loop that over three more times. It should then display each of the team names with their corresponding members, for example: Members of Team The Breakers: Walt, Jesse, Skylar, Saul. Instead, however, it lists every team as "team", so it would say "Members of team team" for all four of them and I can't seem to find what's wrong with it.
String teamName;
String[] members = new String[4];
public String getTeamName()
{
return teamName;
}
public void setTeamName(String team)
{
teamName = "team";
}
public void setMember(int number, String name)
{
members[number] = name;
}
public String getMember(int number)
{
return members[number];
}
public static void main(String[] args)
{
}
}
public static void main(String[] args)
{
String name;
final int NUM_TEAMS = 4;
BowlingTeam[] teams = new BowlingTeam[NUM_TEAMS];
int x;
int y;
final int NUM_TEAM_MEMBERS = 4;
getTeamData(teams);
for(y = 0; y < NUM_TEAMS; ++y)
{
System.out.println("\nMembers of team " + teams[y].getTeamName());
for(x = 0; x < NUM_TEAM_MEMBERS; ++x)
System.out.print(teams[y].getMember(x) + " ");
System.out.println();
}
name = JOptionPane.showInputDialog(null,"Enter a team name to see its roster.");
for(y = 0; y < teams.length; ++y)
if(name.equals(teams[y].getTeamName()))
for(x = 0; x < NUM_TEAM_MEMBERS; ++x)
System.out.print(teams[y].getMember(x));
System.out.println();
}
public static void getTeamData(BowlingTeam[] teams)
{
String name;
final int NUM_TEAMS = 4;
int x;
int y;
final int NUM_TEAM_MEMBERS = 4;
for(y = 0; y < NUM_TEAMS; ++y)
{
teams[y] = new BowlingTeam();
name = JOptionPane.showInputDialog(null, "Enter team name");
teams[y].setTeamName(name);
for(x = 0; x < NUM_TEAM_MEMBERS; ++x)
{
name = JOptionPane.showInputDialog(null, "Enter team member's name");
teams[y].setMember(x, name);
}
}
}
}
There is a bug in setting team name:
String teamName;
String[] members = new String[4];
public String getTeamName()
{
return teamName;
}
public void setTeamName(String team)
{
// Here you need to assign the team to teamName, not "team"
teamName = team;
}
public void setMember(int number, String name)
{
members[number] = name;
}
public String getMember(int number)
{
return members[number];
}
public static void main(String[] args)
{
}
This works for me:
public class BowlingTeam {
String teamName;
String[] members = new String[4];
public String getTeamName() {
return teamName;
}
public void setTeamName(String team) {
teamName = team;
}
public void setMember(int number, String name) {
members[number] = name;
}
public String getMember(int number) {
return members[number];
}
public static void main(String[] args) {
String name;
final int NUM_TEAMS = 4;
BowlingTeam[] teams = new BowlingTeam[NUM_TEAMS];
int x;
int y;
final int NUM_TEAM_MEMBERS = 4;
getTeamData(teams);
for (y = 0; y < NUM_TEAMS; ++y) {
System.out.println("\nMembers of team " + teams[y].getTeamName());
for (x = 0; x < NUM_TEAM_MEMBERS; ++x)
System.out.print(teams[y].getMember(x) + " ");
System.out.println();
}
name = JOptionPane.showInputDialog(null, "Enter a team name to see its roster.");
for (y = 0; y < teams.length; ++y)
if (name.equals(teams[y].getTeamName()))
for (x = 0; x < NUM_TEAM_MEMBERS; ++x)
System.out.print(teams[y].getMember(x));
System.out.println();
}
public static void getTeamData(BowlingTeam[] teams) {
String name;
final int NUM_TEAMS = 4;
int x;
int y;
final int NUM_TEAM_MEMBERS = 4;
for (y = 0; y < NUM_TEAMS; ++y) {
teams[y] = new BowlingTeam();
name = JOptionPane.showInputDialog(null, "Enter team name");
teams[y].setTeamName(name);
for (x = 0; x < NUM_TEAM_MEMBERS; ++x) {
name = JOptionPane.showInputDialog(null, "Enter team member's name");
teams[y].setMember(x, name);
}
}
}
}