0
BowlingTeamDemo2
類中的最後一個for循環在第一次迭代中將x
增量爲4
的值。 Stumped ...該程序將自動填寫名稱而不是使用掃描儀,僅用於測試目的。在最後一個循環的內循環之前和之後添加了變量x
的打印輸出以測試x
的值。在內循環之前,值爲0
,內循環啓動後,值爲4
。 該循環正確輸出組的名稱,但在嘗試訪問BowlingTeam
類的getMember()
方法時失敗。這是一個例子,而不是一個練習。Java變量在for循環開始時增加越界
我得到的錯誤是這樣的:在線程
異常 「主要」 java.lang.ArrayIndexOutOfBoundsException:4 在BowlingTeam.getMember(BowlingTeam.java:21)在 BowlingTeamDemo2.main(BowlingTeamDemo2。 Java的:41)
public class BowlingTeam{
private String teamName;
private String[] members = new String[4];
public void setTeamName(String team){
teamName = team;
}
public String getTeamName(){
return teamName;
}
public void setMember(int number, String name){
members[number] = name;
}
public String getMember(int number){
// We have an issue here!!!!!!
return members[number];
}
}
import java.util.*;
public class BowlingTeamDemo2{
public static void main(String[] args){
String name;
final int NUM_TEAMS = 4;
final int NUM_TEAM_MEMBERS = 4;
int x;
int y;
BowlingTeam[] teams = new BowlingTeam[NUM_TEAMS];
Scanner input = new Scanner(System.in);
for(y = 0; y < NUM_TEAMS; ++y){
teams[y] = new BowlingTeam();
System.out.println("Enter team name >> ");
name = "Teams";
teams[y].setTeamName(name);
for(x = 0; x < NUM_TEAM_MEMBERS; ++x){
System.out.println("Enter team members name >> ");
name = "CoolName";
teams[y].setMember(x, name);
}
}
x = 0;
y = 0;
for(y = 0; y < NUM_TEAMS; ++y){
System.out.println(x);
for(x = 0; x < NUM_TEAM_MEMBERS; ++x);{
System.out.println(x);
System.out.println("\nMembers of team " +
teams[y].getTeamName());
// We have an issue here!!!!!!
System.out.print(teams[y].getMember(x) + " ");
}
}
System.out.println();
}
}
Typo。 'for(x = 0; x
廢話,謝謝。 –
@JustaGuy每個人都會遇到這種情況,別擔心!順便說一下,Stack Overflow上的「Holy crap」按鈕是[delete] :-) – dasblinkenlight