public class TestPrintf {

    public static void main(String[] args) {
        // leggi array di double
        double[] conto = fill_double();
        // leggi la valuta
        System.out.print("Codice valuta (stringa): ");
        String s = Input.readLine();
        // stampa incolonnata con totale
        printTot(conto,s);
    }
    public static  void printTot (double[] a, String misura) {
        double tot = 0;
        for (int i = 0; i < a.length; i++) {
            // stringa di formato: "Elemento %3d: %7.2f %3s%n"
            // ci sono 4 specificatori di formato:
            // - %3d stampa come intero decimale con tre cifre
            // - %7.2f virgola mobile con 4 cifre, il punto e due decimali
            // - %3s stringa con tre caratteri
            // - %n ritorno a capo indipendente dalla piattaforma
            System.out.printf("Elemento %3d: %7.2f %3s%n",i,a[i],misura);
            tot = tot + a[i];
        }
        System.out.printf("==========================%n");
        System.out.printf("      Totale: %7.2f %3s%n",tot,misura);
    }


    public static  double[] fill_double () {
        int n = 0;
        do {
            System.out.print("Dimensione array (compresa tra 1 e 999): ");
            n = Input.readInt();
        } while (n<=0 || n>999);
        double[] array = new double[n];
        for (int i = 0; i < n; i++) {
            System.out.printf("Dammi il double in posizione %3d: ", i);
            array[i] = Input.readDouble();
        }
        return array;
    }

}