Matriz

como faço para avancar 5 espaços num txt numa matriz [5][5] ???

[quote=tiparu]como faço para avancar 5 espaços num txt numa matriz [5][5] ???
[/quote]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á:

[code]
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();
	}
}

}[/code]

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

[quote=tiparu]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 [/quote]

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(); }

[quote=tiparu]
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[/quote]

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:

[code]
// 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();
	}[/code]

Espero ter ajudado ^^