Interpretação de Código - FOR com Array!

4 respostas
R

Código em J2ME
Antes veio declarado isso:

private String areaCodeTable [][] = {

{512, 912}, // Old area code, new area code

{717, 917} };

Abaixo o metodo:

private boolean areaCodeLookup(char [] buffer)

{

//Aqui eu sei que pega os tres primeiros caracteres de array buffer

String str = new String(buffer, 0, 3);
for (int x = 0; x < areaCodeTable.length; x++) //O problema ta aqui.
{
  // If we find a match in the table
  if (str.equals(areaCodeTable[x][0]))//Essa linha n consegui entender
  {
    // Delete the area code
    tfPhone.delete(0, 3);
    
    // Insert the new area code
    tfPhone.insert(areaCodeTable[x][1].toCharArray(), 0, 3, 0);//essa aqui tb não
    return true;
  }
}
return false;

}

Esse [x][1] complica!

Se puderem me expliquem sobre array!

4 Respostas

J

//Matriz - 2 dimenção
private String areaCodeTable [][] = { {“512”, “912”}, {“717”, “917”} };

//Aqui ele pecorre o arrays de arrays (Matriz)

for (int x = 0; x < areaCodeTable.length; x++) //length aqui vai ser 2

{

// compara o valor de str se e igual ao valor que esta na posição areaCodeTable[0][0], areaCodeTable[1][0] 

if (str.equals(areaCodeTable[x][0]))//Se achar um valor igual

{

//entra aqui
J

//Matriz - 2 dimenção
private String areaCodeTable [][] = { {“512”, “912”}, {“717”, “917”} };

//Aqui ele pecorre o arrays de arrays (Matriz)

for (int x = 0; x < areaCodeTable.length; x++) //length aqui vai ser 2

{

// compara o valor de str se e igual ao valor que esta na posição areaCodeTable[0][0], areaCodeTable[1][0] 

if (str.equals(areaCodeTable[x][0]))//Se achar um valor igual

{

//entra aqui

tfPhone.delete(0, 3); //deleta algo !

tfPhone.insert(areaCodeTable[x][1].toCharArray(), 0, 3, 0);//insere algo

return true;

}

Bom isso que eu entindi rs… :lol:

L

Cara, é assim…
imagina que teu array é uma matriz, bele?
nesse caso ele tem 2 dimensões, coluna e linha…
o primeiro valor indica a linha, e o segundo a coluna…
assim…

private String areaCodeTable [][] = { {"512", "912"}, {"717", "917"} };

dentro das primeiras chaves vão as linhas, e dentro das segundas estão as colunas…
então, este array tem 2 linhas e 2 colunas…
fazendo o acesso assim [0][0], eu pego o valor “512”; [0][1] eu pego “912”;
[1][0] eu pego “717” e [1][1] eu pego “917”…
entendeu?

então, a linha que você não entendeu… ele só faz uma comparação… se o que tem na variável str for igual ao que tem na primeira coluna ( a coluna 0 ) de cada linha (o for cuida das linhas)…

o [x][1] é assim…
na primeira volta do for ele vai pegar o valor [0][1], ou seja “912”…
na segunda volta, ele vai pegar [1][1], ou seja, “917”…
bele???

acho que é isso… auehauheaue

qualquer coisa posta de novo…

e ah! só uma dica, pra facilitar nas respostas do pessoal…
quando for postar código, usa a tag “code” bele?

abraçoo

R

Obrigado pela ajuda.

Criado 13 de outubro de 2006
Ultima resposta 13 de out. de 2006
Respostas 4
Participantes 3