当我尝试使用此方法时,我在标题中收到消息,但我找不到原因。谁可以帮助我?
谢谢!
void companyInfo() {
int tel = 0;
System.out.print("Name of company: ");
String tmpCompany = sc.next();
for (int i = 0; i < tel; i++){
if (tmpCompany.equals(null)){
}
}
for (int i = 0; i < 10; i++) {
int count = 0;
for (int j = 0; j < field.length; j++){
for (int k = 0; k < field[k].length; k++){
if (tmpCompany != (null) && field[i][j] != 0 && tmpCompany.equals(felt[i][j])){
count++;
}
}
}
if (tmpCompany != null && count > 0) {
System.out.print("The company " + tmpCompany + " owns " + count + " field(s).");
}
}
}
答案 0 :(得分:1)
我不完全确定,因为我看到这样的一行,你的数组中有什么:
for (int k = 0; k < field[k].length; k++)
字段[K]。但是你得到错误是因为你试图在一个长度低于10的数组中找到索引10。
答案 1 :(得分:0)
此:
for (int k = 0; k < field[k].length; k++)
几乎可以肯定是:
for (int k = 0; k < field[j].length; k++)
虽然你是然后在循环体内使用field[i][j]
,这似乎不太可能是你想要的。我注意到你在循环中根本没有使用k
。当你只有一个二维数组 1 时,你还不清楚为什么你认为你需要三级循环。
基本上,您应该根据它的外观重新审视您的循环边界和 field
的每个访问权限。
1 是的,我知道它实际上只是一个数组数组。关键是它不是数组数组的数组。
答案 2 :(得分:0)
在if
条件下,不应该是field[j][k]
,如下所示:
if (tmpCompany != (null) && field[j][k] != 0 && tmpCompany.equals(field[j][k])){