Valendo uma paçoca!
partindo da seguinte array:
String [][] array= {{"Pedro","Maria"},
{"Maria", "Pedro", "Carlos"},
{"João", "Pedro"},};
Eu quero saber o método para pegar a posição de Pedro na array[1] , ou seja, na segunda linha.
Abraço
Um for dentro do outro não serve?
Simplificando o problema.
Como você acha a posição de uma string em um array de apenas uma dimensão?
Usando um laço “for” já serviria, não?
Vamos ver oq sai… mas se quiser me ajudar no codigo :lol:
só o pedro é isso:
System.out.println(array[1][1]);
se quiser pegar todo é assim:
[code]String [][] array= {{“Pedro”,“Maria”},{“Maria”, “Pedro”, “Carlos”},{“João”, “Pedro”},};
for(int i=0;i<3;i++){
for(int j=0;j<array[i].length;j++){
System.out.println(array[i][j]);
}
}[/code]
Só lembrando que eu quero a POSIÇÃO do pedro da segunda linha…
Não precisa percorrer todas as linhas… Pq no meu programa eu sei qual linha eu devo procurar
Mais ou menos assim seria a lógica
se fosse uma array unidimensional:
[code]String [] array= {“Pedro”,“Maria”, “Carlos”};
int x = array.indexOf(“Pedro”);[/code]
o x seria 0
Para uma bidimensional eu tentei:
String [][] array= {{"Pedro","Maria"},
{"Maria", "Pedro", "Carlos"},
{"João", "Pedro"},};
int x = array[1].indexOf("Pedro");
mas não funcionou
Tio, infelizmente todos os arrays não tèm um método “indexOf”. A única coisa que eles têm é um membro chamado “length”.
Para achar algo em um array, você pode usar um laço “for” mesmo (que é o que seu professor está esperando que você use no exercício, não?), ou então usar o seguinte truque (classe java.util.Arrays, http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html )
int x = Arrays.asList (array[1]).indexOf (“Pedro”);
vlw entanglement! Achei que tinha o indexOf pra array foi mal.
mas eu nao tenho professor… to por conta… nem curso faço… ano que vem se der certo começo…
Não to conseguindo pelo for vou tentar achar um outro jeito pro meu código Vlw
Ah, certo. Não sabia que você estava tentando aprender por conta própria.
De forma geral, a busca linear é sempre assim:
/**
* @return A posição (de 0 a array.length - 1), ou -1 se não achar
*/
public int achar (String[] array, String objetivo) {
for (int i = 0; i < array.length; ++i) {
if (array[i].equals (objetivo)) {
return i;
}
}
return -1;
}