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ù).
codice:
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;
}
}
Inutile dire che ringrazio chiunque mi aiuti