Array Bidimensional

11 respostas
thiago.limma

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.

11 Respostas

Jair_Rillo_Junior

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

Felagund

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

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

thiago.limma

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

Jair_Rillo_Junior

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.

thiago.limma

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

Felagund

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.

thiago.limma

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.

thiago.limma
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);
	    		     }  
	    		    }  
	    	 
	    	 
	    	 
	     }
	     
	 }
E

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…

rafaspimenta

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

fabim

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.

Criado 30 de julho de 2008
Ultima resposta 19 de jun. de 2013
Respostas 11
Participantes 6