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”字符串。你不必这样;不久前我才开始学习。是的,这似乎也对我有用。谢谢你的帮助。