2015-10-10 8 views
0

Я пытаюсь сравнить два значения, присутствующих в двух разных массивах, но в итоге получаю «Ошибка в массиве, но целое». Я действительно не могу решить эту проблему. Я выделил строку, с которой произошла ошибка. Было бы очень заметно, если кто-нибудь сможет мне помочь в этом. Вот код.Требуется массив, но целое найдено

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

available - это одномерный массив, поэтому вы не можете написать available[i][j]. Измените его на smh как available[i]

0

Вы определили available[] как одномерный массив и использовать его с двумя размерами available[i][j].

Смежные вопросы