Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序无法将用户输入分配给数组下标_Java_Arrays_String_Input_Subscript - Fatal编程技术网

Java 程序无法将用户输入分配给数组下标

Java 程序无法将用户输入分配给数组下标,java,arrays,string,input,subscript,Java,Arrays,String,Input,Subscript,我的程序应该提示您输入一个团队名称,后跟四个团队成员的名称,然后再循环三次。然后,它应显示每个团队名称及其相应的成员,例如: 破坏者小组成员: 沃尔特,杰西,斯凯拉,索尔。 然而,相反,它将每个团队都列为“团队”,所以它会对所有四个团队都说“团队成员”,而我似乎找不到它有什么问题 String teamName; String[] members = new String[4]; public String getTeamNam

我的程序应该提示您输入一个团队名称,后跟四个团队成员的名称,然后再循环三次。然后,它应显示每个团队名称及其相应的成员,例如: 破坏者小组成员: 沃尔特,杰西,斯凯拉,索尔。 然而,相反,它将每个团队都列为“团队”,所以它会对所有四个团队都说“团队成员”,而我似乎找不到它有什么问题

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);
             }
          }
       }
    }
字符串组名;
字符串[]成员=新字符串[4];
公共字符串getTeamName()
{
返回团队名称;
}
公共无效设置名称(字符串组)
{
teamName=“团队”;
}
public void setMember(整数,字符串名)
{
成员[人数]=姓名;
}
公共字符串getMember(整数)
{
返回成员[数目];
}
公共静态void main(字符串[]args)
{
}
}
公共静态void main(字符串[]args)
{
字符串名;
最终int NUM_团队=4;
BowlingTeam[]团队=新的BowlingTeam[NUM_团队];
int x;
int-y;
最终int NUM_团队成员数=4;
获取数据(团队);
对于(y=0;y
设置团队名称时存在错误:

    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)
{

}
这对我很有用:

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);
        }
    }
}
公共级保龄球队{
字符串组名;
字符串[]成员=新字符串[4];
公共字符串getTeamName(){
返回团队名称;
}
公共无效设置名称(字符串组){
团队名称=团队;
}
public void setMember(整数,字符串名){
成员[人数]=姓名;
}
公共字符串getMember(整数){
返回成员[数目];
}
公共静态void main(字符串[]args){
字符串名;
最终int NUM_团队=4;
BowlingTeam[]团队=新的BowlingTeam[NUM_团队];
int x;
int-y;
最终int NUM_团队成员数=4;
获取数据(团队);
对于(y=0;y

}

首先调试代码的时间到了。我猜,你的错误可能在代码中,你没有向我们展示,BowlingTeam所有重要的setter方法。对不起,我对这一切还是比较陌生的。我已经对它进行了更新,这样你就可以看到我的两个类了。投票结束只是一个小错误。说真的——你需要看看错误是从哪里来的,它变得很明显。你忽略了seteam参数,而是使用了一个毫无意义的“team”字符串。你不必这样;不久前我才开始学习。是的,这似乎也对我有用。谢谢你的帮助。