Estou fazendo um programa que lê uma planilha do excel, armazena os dados em uma matriz feita a partir de um ArrayList de ArrayList. Neste programa eu pretendo fazer a média móvel dos valores presentes na planilha, por exemplo: o programa lê a primeira linha soma com a segunda e divide por dois, lê a segunda vai para a terceira soma e divide por dois, assim por diante.
O meu programa funciona para planilhas que formam matrizes (i x (i + 1)), por exemplo (5X6; 6x7 … e etc), mas infelizmente eu necessito da análise de uma planilha que forma uma matriz de (1800 x 256). Vocês saberiam o porque deste erro com esta matriz que não segue a regra???
Grata pela atenção!
Aí vai uma parte do programa:
else if (operacao == 10){
int num = 0;
num = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de números utilizados para a média móvel"));
ArrayList <String> SubEspc = new ArrayList <String> ();
int j = 0;
for (int a = 1; a < (matriz.get(j).size()); a++){
double variavel = 0.0;
for (int b = 1; b < matriz.size(); b++){
if ( b < ((matriz.size())- (num - 1))){
for(int i=0;i < num;i++){
variavel += Double.parseDouble(matriz.get(b+i).get(a).toString().replace(",","."));
}
double media = 0.0;
media = variavel/num;
SubEspc.add(String.format("%.2f", media));
variavel = 0.0;
}
}
j++;
}
int d = 0;
for (int a = 1; a < matriz.get(a).size(); a ++){
for (int b = 1; b < matriz.size(); b++){
if (d < SubEspc.size()){
if (b < num){
matriz.get(b).set(a, "0");
}
else {
double Conta1 = 0.0;
double Conta2 = 0.0;
Conta1 = Double.parseDouble(matriz.get(b).get(a).toString().replace(",","."));
Conta2 = Double.parseDouble(SubEspc.get(d).toString().replace(",","."));
matriz.get(b).set(a, String.format("%.2f", (Conta2 - Conta1)));
d++;