Nel file principale, Cerca.java, ho il seguente codice che crea una tabella, visualizza i valori di default inizialmente presenti in tale tabella, aggiunge dati double a tale tabella, e poi visualizza tale tabella:
...
Table tab = new Table(number_of_NFR, number_of_pattern, nomi_NFR, nomi_pattern);
tab.printTable();//visualizzo i valori di default contenuti nella tabella
...
tab.insert_data(i, j, result.getSolution());//il metodo getSolution() mi restituisce un double
...
tab.printTable();//stampo la tabella con i valori
...
La classe Table che utilizzo per creare la tabella e manipolarla attraverso gli appositi metodi è la seguente:
public class Table
{
private int rows = 0;
private int cols = 0;
private String rows_titles[] = new String[20];// = new String[rows];
private String cols_titles[] = new String[20];// = new String [cols];
private double tabella[][] = new double[20][20];// = new double[rows][cols];
private void tableSize(int rows, int cols)
{
this.rows = rows;
this.cols = cols;
}
private void insertTitles(String[] titoli_righe, String[] titoli_colonne)
{
int i = 0;
for(i=0; i<rows; i++)
rows_titles[i] = titoli_righe[i];
for(i=0; i<cols; i++)
cols_titles[i] = titoli_colonne[i];
}
Table(int rows, int cols, String[] titoli_righe, String[] titoli_colonne)
{
this.tableSize(rows, cols);
this.insertTitles(titoli_righe, titoli_colonne);
int i = 0;
int j = 0;
//double init = 1.1F;
//inizializzo la tabella con (rows x cols) valori -1
for(i=0; i<rows; i++)
{
for(j=0; j<cols; j++)
this.tabella[rows][cols] = -1;//Double.NaN;
}
}
public void insert_data(int riga, int colonna, double dato)
{
this.tabella[riga][colonna] = dato;
}
public double[][] getTable()
{
return this.tabella;
}
public void printTable()
{
int i = 0;
int j = 0;
System.out.print("\t\t\t");
for(i=0; i<cols; i++)
{
System.out.print(this.cols_titles[i]);
System.out.print("\t");
}
System.out.println();
for(j=0; j<rows; j++)//per ogni riga
{
for(i=-1; i<cols; i++)//per ogni colonna; parto da -1 per stampare a video anche il titolo della riga
{
if(i==-1)
{
System.out.print(this.rows_titles[j]);
System.out.print("\t\t\t\t");
}
else
{
//System.out.printf("%f", this.tabella[j][i]);
System.out.println(this.tabella[j][i]);
System.out.print("\t\t\t\t");
}
}
System.out.println();
}
System.out.println();
}
}