Pessoal como faço pra implementar : Se voo [i][j] estiver instanciado como (!=null) é porque existe um voo que vai do aeroporto [i] para aeroporto [j].
Segue o que fiz até agora:
public class ControleAeroportuário {
int aeroporto [];
int m, n;
int[][] voo;
public ControleAeroportuário(int linhas, int colunas) {
this.m = linhas;
this.n = colunas;
voo = new int[linhas][colunas];
}
public void preencheMatriz(int[][] voo) {
this.voo = new int[this.m][this.n];
for (int i = 0; i < aeroporto.length-1; i++) {
for (int j = 0; j < aeroporto.length-1; j++) {
this.voo[i][j] = voo[i][j];
}
}
}
}
No seu código, como o voo é uma matriz de int
, você apenas conseguirá verificar se voo[i][j] é diferente de 0 (zero).
Para fazer do jeito que está querendo, você terá que criar uma classe que representa o Voo
e fazer a matriz assim:
Voo[][] voos;
Então mais é isso mesmo, (!=null) : isso aí é diferente de nulo. Bom acho que é isso que entendi…
Vou tentar te mostrar a diferença entre usar: int[][]
e Voo[][]
:
Usando int[][]
:
// para instanciar
int[][] voos = new int[10][10];
// para incluir
voos[i][j] = 1;
// para verificar se possui valor
if(voos[i][j] != 0) {
// possui um voo
}
Usando Voo[][]
:
class Voo {
// atributos e métodos da classe Voo
}
// para instanciar
Voo[][] voos = new Voo[10][10];
// para incluir
voos[i][j] = new Voo();
// para verificar se possui valor
if(voos[i][j] != null) {
// possui um voo
}
Com int[][]
não dá para verificar se é direrente de null
, pois o valor default para tipos inteiros primitivo é zero.