Duvida com matriz de String

7 respostas
S

Olá pessoal como vai?
estou com uma dúvida básica. mas não seu resolver rrr.
estou tentando criar uma matriz em java uma array de array mas está dando um erro nessa parte do codigo zips[0][2] = “arquivo3”;

public class TesteArray {
	public static void main(String[] args) {
		
		String[][] zips = new String[][]{{"teste1","teste2"},{}};
		
		zips[0][0] = "arquivo1";
		zips[0][1] = "arquivo2";
		zips[0][2] = "arquivo3";
		zips[0][3] = "arquivo4";
		
		zips[1][0] = "arquivo1";
		zips[1][1] = "arquivo2";
		zips[1][2] = "arquivo3";
		zips[1][3] = "arquivo4";
		zips[1][4] = "arquivo5";
		
		for (String[] strings : zips) {
			for (String string : strings) {
				System.out.println(string);
			}
			System.out.println();
		}
	}

}

alguem poderia me ajudar para eu terminar isso?
valeu.

7 Respostas

T

Defina o array com o tamanho certo, em vez de definir do jeito que você fez.

String[][] zips = new String[___][____];

Complete o ____ com o tamanho adequado.

H

E ae…

String[][] zips = new String[][]{{"teste1","teste2"},{}};

Seguinte… aqui você está definindo 2 posições…

zips[0][0]
zips[0][1]

Por isso está tendo erro…

e na posição:

zips[1][0]

na inicialização você está definindo [0] e com isso você não pode atribuir valores… experiemente colocar:

String[][] zips = new String[][]{{"teste1","teste2"},{null}};

aí você terá as posições:

zips[0][0]
zips[0][1]

zips[1][0]

De uma olhada na inicialização da sua matriz…

Qualquer coisa… posta aí

S
Então entendi isso, eu estava fazendo errado mesmo, mas olha  eu tenho que fazer o seguinte, criar uma array que tenha um cabeçalho tipo assim:

String[][] arrays = new String[][]}{“Pasta1”,“Pasta2”},{}};

ai na pasta um eu coloco:

arrays[0][0]=arquivo1;

arrays[0][1]=arquivo2;

arrays[0][2]=arquivo3;

arrays[1][0]=arquivo1;

arrays[1][1]=arquivo2;

então é assim em cada pasta eu vou ter uma quantidade de arquivos txt. em outra outra quantidade de arquivos txt.
é isso minha duvida…
valeu pela força até agora

H

E ae…

Seguinte:

String[][] arrays = new String[][]}{"Pasta1","Pasta2"},{}};

Na primeira chave, você está criando o array principal com 2 posições (posição 0 e posição 1) e atribuindo os valores:
A chave da antes da primeira vírgula você está criando um array de 2 posições atribuindo os valores Pasta1 e Pasta2 as posições 0 e 1 respectivamente. Na chave depois da vírgula você está criando um array vazio equivalente a String[0] que é vazio.

array[0] = String[2]; // {"Pasta1", "Pasta2"}
array[1] = String[0]; // {}

Para você conseguir chegar no que você precisa:

arrays[0][0]="arquivo1";
arrays[0][1]="arquivo2";
arrays[0][2]="arquivo3";
arrays[1][0]="arquivo1";
arrays[1][1]="arquivo2";

Você tem que criar o array dessa forma:

String[][] arrays = new String[][]}{"Pasta1","Pasta2", "Pasta3"},{"Pasta1", "Pasta2"}};

Espero ter ajudado…

Valeu

S

o velho valeu ajuda, mas sem abusar poderia me dar um exemplo passando os valores?
exemplo:
String[][] arrays = new String[][]}{“Pasta1”,“Pasta2”},{}};

arrays[0][0]=“arquivo1”
arrays[0][1]=“arquivo2”
arrays[0][3]=“arquivo3”

arrays[1][0]=“arquivo1”
arrays[1][1]=“arquivo2”
arrays[1][2]=“arquivo3”
arrays[1][3]=“arquivo4”
ficaria assim?

H

Isso que você quer, ficaria assim…

String[][] arrays = new String[][] {{"Pasta1","Pasta2", "Pasta3", "Pasta4"},{"Pasta1","Pasta2", "Pasta3", "Pasta4"}};

arrays[0][0]="arquivo1"
arrays[0][1]="arquivo2"
arrays[0][3]="arquivo3"

arrays[1][0]="arquivo1"
arrays[1][1]="arquivo2"
arrays[1][2]="arquivo3"
arrays[1][3]="arquivo4"

Valeu

S

Ai mano valeu mesmo !!!

Criado 6 de maio de 2009
Ultima resposta 6 de mai. de 2009
Respostas 7
Participantes 3