Ciao, avrei necessità di modificare questo programmino in Java per fargli stampare l'array di reali con il risultato finale su file nella forma "0.1 0.4 0.6321 0.2 0.945 ... "
Il fatto però è che di Java non so niente![]()
In pratica, gli passo l'input da file: se questo file di input per es. si chiama pippo.txt, il programma mi deve creare (o sovrascrivere se già esiste) un nuovo file di nome pippo_rel_ist.txt e stampare appunto qui i valori nella forma detta prima ("0.1 0.4 0.6321 0.2 0.945 ... ").
Vi riporto il programma nelle parti principali (come prende cioè il file per vederne il nome) e come si chiama il vettore finale da stampare (non capisco se lo crea nell'ultima o nella penultima funzione che riporto giù).Inutile dire che ringrazio chiunque mi aiuticodice:public class Main { ... public Main(String file){ this.nomeFile = file; loadInput(); } public void loadInput(){ LoadInput input = new LoadInput(nomeFile); inputAplotipi = input.load(); } ... public float getNewValue(int colonna){ float []prob = probAplotipi(colonna); float [][] ent = getStrutturaEntropia(colonna); float ris = 0; for(int riga=0; riga<inputAplotipi.length; riga++){ char carattere = inputAplotipi[riga][colonna]; float jDatoI = 0; for(int col = 0; col<inputAplotipi[0].length; col++){ if(col != colonna){ char []t = new char[2]; t[0] = carattere; t[1] = inputAplotipi[riga][col]; jDatoI += ent[col][getIndiceCondizionata(String.valueOf(t))] * Math.log10(ent[col][getIndiceCondizionata(String.valueOf(t))])/ Math.log10(2); } } ris += prob[getIndice(carattere)] * jDatoI; } return -ris; } public float [] calcolaColonne(){ float []istogramma = new float[inputAplotipi[0].length]; for(int colonna =0; colonna<inputAplotipi[0].length; colonna++){ istogramma[colonna] = getNewValue(colonna); } return istogramma; } }![]()
![]()