Array Bidimensional

Galera, alguém poderia me explicar como faço para popular um array bidimensional?

Exemplo: Tenho um teatro [10][10] (Linhas e colunas, certo?) Como faço para popular esses espaços.

Quero que faça uma verificação, se a cadeira estiver vazia, ele preenche com alguma coisa.

Isso é possivel?

Só p eu entender como funciona os array’s mesmo.

Voltando as aulas de lógico de programação :lol:

Você pode fazer um for dentro de outro for, algo do tipo

for (int i = 0; i < 10; i++) {
  for (int k = i; K < 10; k++) {
    yourArray[i][k] = "algum valor";
  }
}

Não testei o código, mas a lógica é por ai

[quote=ManchesteR]Voltando as aulas de lógico de programação :lol:

Você pode fazer um for dentro de outro for, algo do tipo

for (int i = 0; i < 10; i++) {
  for (int k = i; K < 10; k++) {
    yourArray[i][k] = "algum valor";
  }
}

Não testei o código, mas a lógica é por ai [/quote]

for (int i = 0; i < 10; i++) {
  for (int k = 0; k < 10; k++) {
    yourArray[i][k] = "algum valor";
  }
}

na verdade o K começa de 0 também não começa de i

[]'s

Inicializei o que ele chamou de “yourArray” e deu nullPointer

troca isso pelo nome da sua array.
Não é para voc6e copiar e colocar o código inteiro, é só para você ter uma idéia da lógica.

É lógico que coloquei o meu array né… mas estou executando e dá null pointer!

declara assim o String[10][10] teatro = new String[10][10];
não me lembro se pode fazer assim, mas vc tem q usar o operador new para não dar null pointer.

Assim não pode não amigo, tem que ser String[][] teatro = new String [10][10];

entendi como funciona, arrumei meu código. Tinha um erro aqui.

[img] public static void main(String[] args)
{
String[][] teatro = new String [10][10];
for (int i = 0; i < 10; i++) {
for (int k = 0; k < 10; k++) {
teatro[i][k] = “Pessoa”;

    		       System.out.println("cadeiras preenchidas"+k);
    		     }  
    		    }  
    	 
    	 
    	 
     }
     
 }[/img]

Obrigado ManchesteR pela diga.

[code] public static void main(String[] args)
{
String[][] teatro = new String [10][10];
for (int i = 0; i < 10; i++) {
for (int k = 0; k < 10; k++) {
teatro[i][k] = “Pessoa”;

    		       System.out.println("cadeiras preenchidas"+k);
    		     }  
    		    }  
    	 
    	 
    	 
     }
     
 }[/code]

Na verdade é o seguinte…

Para criar um array bidimensional de Strings de 10X10:

String[][] array = new String[10][10];

Para percorrer e testar:

for(int i=0;i<array.length;i++) { for(int j=0;j<array[i].length;j++) { if(array[i][j]==null) { array[i][j] = ""; //Aqui você faz ele receber o valor qeu você quiser } else { //Se estivr preenchido você faz o que quiser } } }

Caso isso lance um NullPointerException, o que dá pra fazer é pegar essa Exception e tratá-la…Tipo (dentro dos dois for):

try { if(array[i][j]==null) { array[i][j] = ""; //Aqui você faz ele receber o valor qeu você quiser } else { //Se estivr preenchido você faz o que quiser } } catch(NullPointerException NPE) { array[i][j] = ""; }

Também não testei o código…Mas alógica vai por ai…

for (int linha[] : yourArray) for (int coluna : linha) JOptionPane.showMessageDialog(null, coluna);

Existe algum motivo em não trocar tudo isso por uma lista de objetos?
Pergunto isso pq as vezes vc esta usando algo tao trabalhoso como matriz sendo que uma lista de objetos resolveria.