Eu tenho um código para remover um índice que foi digitado pelo usuário, só que ele não está funcionado corretamente, ele apaga dois valores quando era pra apagar um único, ou então apaga um posição que não foi a correta
publicclassLista_array{privatedouble[]vet;privateintmax=0,livre=0;privateinttaman;publicLista_array(){max=1000;vet=newdouble[max];livre=0;}publicLista_array(intmaxElementos){max=maxElementos;vet=newdouble[max];livre=0;}publicvoidaddLast(doublev){if(livre<max){vet[livre]=v;livre++;}else{System.out.println("Lista cheia!!!");}}publicdoubleget(inti){if((i>=0)&&(i<size())){returnvet[i];}else{System.out.println("Elemento não consta da Lista!!!");return0;}}publicintsize(){taman=livre;returntaman;}publicdoublegetLast(){//Implementarif(size()!=0){returnvet[livre-1];}else{System.out.println("Lista vazia!!!");return0;}}publicdoublegetFirst(){//Implementarif(size()!=0){returnvet[0];}else{System.out.println("Lista vazia!!!");return0;}}publicdoubleremove(intK){if(!(K>=0)&&(K<size())){System.out.println("Posição invalida!");}//remover = vet[K]; // obtém o valor a ser removidovet[K]=0;// zera o valor da posição K do arrayreturn0;}publicdoubleset(inti,doublev){doubleK;if((i>=0)&&(i<size())){K=vet[i];vet[i]=v;returnK;}else{System.out.println("Valor invalido!!");return0;}}publicdoublemedia(){doublem,soma=0;for(inti=0;i<size();i++){soma=soma+vet[i];}m=soma/size();returnm;}}´´´