Bom dia a todos do GUJ.
Bom pessoal, antes de postar minha dúvida, vou postar o código abaixo e irei explicá-los e em seguida relato o que estou tentando fazer.
Meu código abaixo faz o seguinte.
- Suponha que eu tenha um arquivo .csv que tenha 150 linhas e 4 colunas.
- Então, transformo esse meu arquivo em uma matriz com as dimensões 150x4 (150 linhas e 4 colunas).
- Nesse meu código o usuário usuário digita duas colunas (uma sendo diferente da outra) e o meu código retorna essas duas colunas.
- Sendo assim, eu teria uma matriz de duas dimensões String[][] numeros.
String linhaCsv;
int linha = 0;
int coluna = 0;
while ((linhaCsv = br.readLine()) != null) {
stzr = new StringTokenizer(linhaCsv, ",");
while (stzr.hasMoreTokens()) {
numeros[linha][coluna] = stzr.nextToken(); //Defino que minha matriz será de duas dimensões
coluna++;
}
coluna = 0;
linha++;
}
double coordenadaX[] = new double[linha];
double coordenadaY[] = new double[linha];
while(linha != 0){
int k = 0;
for (int i = k+count; i < coordenadaX.length; i++) {
if(setDataset == 1){
coordenadaX[i] = Double.parseDouble(numeros[k][a]);
coordenadaY[i] = Double.parseDouble(numeros[k][b]);
}
k++;
if(linha > 0){
linha--;
}
}
count+= coordenadaX.length;
System.out.print("Coordenadas X:");
for (int i = 0; i < coordenadaX.length; i++) {
System.out.print(" " + coordenadaX[i]);
}
System.out.print(" \n");
System.out.print("Coordenadas Y:");
for (int i = 0; i < coordenadaX.length; i++) {
System.out.print(" " + coordenadaY[i]);
}
O que eu gostaria de fazer era armazenas todas essas colunas (4 no caso) em uma matriz de 4 dimensões String[][][][] numeros.
Até que consigo armaze-las, no entanto, não consigo exibir todos os elementos dessa minha matriz, tentei fazer da seguinte maneira abaixo, no entanto, não dá certo.
Alguém poderia me dizer aonde que estou errando?
Desde de já obrigado pela ajuda de todos.
String linhaCsv;
int linha = 0;
int coluna = 0;
while ((linhaCsv = br.readLine()) != null) {
stzr = new StringTokenizer(linhaCsv, ",");
while (stzr.hasMoreTokens()) {
numeros[linha][coluna][linha][coluna] = stzr.nextToken(); //Defino que minha matriz será de quatro dimensões
coluna++;
}
coluna = 0;
linha++;
}
double coordenadaX[] = new double[linha * qntColunas]; //Múltiplo a linha pela quantidade de colunas
System.out.println();
int count = 0;
int col = 0;
while(linha != 0){
int lin = 0;
for (int i = lin+count; i < coordenadaX.length; i++) {
if(setDataset == 1){
coordenadaX[i] = Double.parseDouble(numeros[lin][col][lin][col]);
col++;
}
lin++;
if(col > 3){
col = 0;
}
if(linha > 0){
linha--;
}
}
count+= coordenadaX.length;
System.out.print("Coordenadas X:");
for (int i = 0; i < coordenadaX.length; i++) {
System.out.print(" " + coordenadaX[i]);
}
}