我正在尝试比较两个不同阵列中存在的两个值,但我最终得到了"需要数组但是Integer找到了#34;编译时错误。我真的无法解决这个问题。我已经标记了错误发生的位置。如果有人可以帮我解决这个问题,那将是非常值得注意的。这是代码。
public class Banker
{
int proccess, n, allocated[][], need[][], maximum[][], available[], safe[];
boolean done[];
public Banker(int n, int proccess) {
this.n = n;
this.proccess = proccess;
allocated = new int[n][n];
need = new int[n][n];
maximum = new int[n][n];
safe = new int[proccess];
done = new boolean[proccess];
}
public void getSafeSequence() {
int result = 0;
for (int i = 0; i < proccess; ++i) {
result = getLocation();
if (result != -1) {
safe[i] = result;
done[result] = true;
} else {
System.out.println(" No Safe Sequence Exist ");
break;
}
}
if (result != -1)
DisplaySequene();
}
public int getLocation() {
boolean flag = true;
for (int i = 0; i < proccess; ++i) {
if (done[i] != true) {
flag = true;
for (int j = 0; j < n; ++j)
***if (available[i][j] < need[i][j])*** {
flag = false;
break;
}
}
if (flag)
return i;
}
return -1;
}
}
答案 0 :(得分:0)
您将available[]
定义为一维数组,并将其与两个维available[i][j]
一起使用。
答案 1 :(得分:0)
available
是一维数组,因此您无法编写available[i][j]
。将其更改为像available[i]