como faço para avancar 5 espaços num txt numa matriz [5][5] ???
Matriz
3 Respostas
como faço para avancar 5 espaços num txt numa matriz [5][5] ???Não sei se entendi bem a sua dúvida, mas você quer correr uma matriz de 5 em 5? Se for isso acho primeiro você terá que correr a primeira linha, 5 colunas por vez e depois descer uma linha, correndo novamente 5 colunas por vez. Acho que o código abaixo te ajudará:
public class Run5{
public static void main(String [] args){
// Aqui estou criando e inicializando a matriz multidimensional
int [][] myArray = new int[][]{
{1,2,3,4,5,4,3,2,10,2,3,4,15,4,3,2,20},
{5,4,3,2,10,2,3,4,15,4,3,2,20,2,3,4,25},
{1,2,3,4,15,4,3,2,20,2,3,4,25,4,3,2,30},
{5,4,3,2,20,2,3,4,25,4,3,2,30,2,3,4,35},
{1,2,3,4,25,4,3,2,30,2,3,4,35,4,3,2,40}
};
// Aqui estou percorrendo, linha por linha e atribuindo a linha
// a uma nova matriz unidimensional chamada myLine.
for(int i = 0; i < myArray.length; i++){
int [] myLine = myArray[i];
// Aqui estou percorrendo cada coluna da matriz unidimensional
for(int x = 0; x < myLine.length; x = x + 4){
// Aqui estou exibindo cada elemento de cada linha da matriz
System.out.print(myArray[i][x] + " ");
}
// Aqui estou apenas pulando uma linha para que o resultado fique bem visível
System.out.println();
}
}
}
Espero ter ajudado ^^
isso mesmo, só mais uma pequena duvida:
como fazia para colocar por exemplo :
1 5 10 15 20 (10 espaços);
5 10 15 20 25
1 15 20 25 30
5 20 25 30 35 (5 espaços);
1 25 30 35 40
e mais uma, se isto estivesse dentro de um ciclo sempre a correr e fizesse 2 vezes:
A 1 5 10 15 20
B 10 15 20 25
C1 15 20 25 30
D 5 20 25 30 35
E 1 25 30 35 40
A 1 5 10 15 20
B 5 10 15 20 25
C 1 15 20 25 30
D 5 20 25 30 35
E 1 25 30 35 40
(sempre com estas letras colocadas no inicio e por ordem)…
grato XD
isso mesmo, só mais uma pequena duvida:como fazia para colocar por exemplo :
1 5 10 15 20 (10 espaços);
5 10 15 20 25
1 15 20 25 30
5 20 25 30 35 (5 espaços);
1 25 30 35 40
Sobre a dúvida acima, acredito que você precisará fazer uma estrutura de decisão, por exemplo:
"Se a linha do meu array for igual à 0, então correr de 10 em 10 colunas. Senão, se a linha do meu array for igual à 3, então devo correr de 5 em 5 colunas. Caso contrário devo correr normalmente."
Exemplificando:
for(int i = 0; i < myArray.length; i++){
int [] myLine = myArray[i];
if(i == 0){
for(int x = 0; x < myLine.length; x = x + 10){
System.out.print(myArray[i][x] + " ");
}
} else if (i == 3){
for(int x = 0; x < myLine.length; x = x + 5){
System.out.print(myArray[i][x] + " ");
}
} else {
for(int x = 0; x < myLine.length; x = x + 4){
System.out.print(myArray[i][x] + " ");
}
}
System.out.println();
}
e mais uma, se isto estivesse dentro de um ciclo sempre a correr e fizesse 2 vezes:A 1 5 10 15 20
B 10 15 20 25
C1 15 20 25 30
D 5 20 25 30 35
E 1 25 30 35 40A 1 5 10 15 20
B 5 10 15 20 25
C 1 15 20 25 30
D 5 20 25 30 35
E 1 25 30 35 40(sempre com estas letras colocadas no inicio e por ordem)...
grato XD
Para fazer o que você quer acima, basta criar um outro laço por fora dos demais laços, com a quantidade de vezes que você deseja que o array seja exibido. E para exibir a letra que você quer, basta inserir o valor ASCII da letra com uma instrução de impressão. Segue abaixo o código que você precisa:
// Aqui é quantidade de vezes que o array será exibido, no caso 2.
for (int z = 0; z < 2; z++) {
for (int i = 0; i < myArray.length; i++) {
int[] myLine = myArray[i];
// Aqui é a impressão da letra conforme a tabela ASCII
System.out.print((char) (65 + i) + " ");
// Os demais códigos são iguais
for (int x = 0; x < myLine.length; x = x + 4) {
System.out.print(myArray[i][x] + " ");
}
System.out.println();
}
System.out.println();
}
Espero ter ajudado ^^