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;
}
}
|