Olá, tenho a seguinte matriz bidimensional:
{"Nome, "Sobrenome"} {"Nome, "Sobrenome"} {"Nome, "Sobrenome"} ...
Como posso fazer um loop que imprime: “Nome Sobrenome”?
Olá, tenho a seguinte matriz bidimensional:
{"Nome, "Sobrenome"} {"Nome, "Sobrenome"} {"Nome, "Sobrenome"} ...
Como posso fazer um loop que imprime: “Nome Sobrenome”?
Olá @Valtersouza147! Há algumas opções diferentes para imprimir o conteúdo de matrizes. Todas elas utilizam o que se chama de iteração sobre conjuntos, percorrer cada elemento do conjunto (no caso, uma matriz) e fazer o que se quiser com o conteúdo. Vou mostrar duas delas. Vamos lá:
// declaração da matriz
String[][] matriz = {
{"Nome", "Sobrenome"},
{"Nome", "Sobrenome"},
{"Nome", "Sobrenome"},
{"Nome", "Sobrenome"}
};
// usando um laço para gerar índices e acessar a matriz manualmente.
for (int i = 0; i < matriz.length; i++) {
String nome = matriz[i][0];
String sobrenome = matriz[i][1];
System.out.println(nome + " " + sobrenome);
}
// usando um laço de iteração direta, acessando cada elemento sem
// precisar explicitar em qual posição da matriz ele está
for (String[] nomeCompleto : matriz) {
String nome = nomeCompleto[0];
String sobrenome = nomeCompleto[1];
System.out.println(nome + " " + sobrenome);
}
Tbm da de fazer assim caso queira…
String[][] matriz = {{"Nome1", "Sobrenome1"}, {"Nome2", "Sobrenome2"}, {"Nome3", "Sobrenome3"}};
for (String[] conjunto : matriz) {
System.out.println(conjunto[0] + " " + conjunto [1]);
}
// ou assim tbm...
for(int indice = 0; indice < matriz.length; indice++) {
String[] conjunto = matriz[indice];
for(int indiceConjunto = 0; indiceConjunto < conjunto.length; indiceConjunto++) {
System.out.println(conjunto[indiceConjunto++] + " " + conjunto [indiceConjunto]);
}
}
Nessa ultima forma você não precisa saber o tamanho de nenhum array.
Mas assim como nosso amigo @marcosalles disse… tem infinitas possibilidades de se fazer isso…
Bons estudos
O segundo método pode vir a lançar uma ArrayOutOfBoundsException devido à mudança do valor do índice dentro do laço, mas fora isso, funciona. Eu preferiria imprimir somente um elemento e deixar sobrar um espaço ao final da linha mesmo.