/** * classe didattica che illustra l'uso degli array * * acquisisce un numero generico di valori in virgola mobile da standard input, * acquisisce successivamente un indice intero k compreso fra 0 e 9, inviando a * standard output il valore acquisito di indice k. * * gestisce i dati con un array a lunghezza fissa. Genera * un messaggio d'errore in caso di superamento dei limiti dell'array. * * @author Adriano Luchetta * @version 25-Ott-2006 */ import java.util.Scanner; import java.util.Locale; public class SelectValue3 { public static void main(String[] args) { final int ARRAY_LENGTH = 3; final String END_OF_DATA = ""; //Sentinella Scanner in = new Scanner(System.in); in.useLocale(Locale.US); System.out.println("Inserisci i numeri, uno per riga"); double[] values = new double[ARRAY_LENGTH]; int valuesSize = 0; while (in.hasNextLine()) // un numero per riga { String token = in.nextLine(); if (token.equals(END_OF_DATA)) break; if (valuesSize >= values.length) { System.out.println("Troppi dati"); break; } values[valuesSize] = Double.parseDouble(token); valuesSize++; } System.out.print("Inserisci un indice: "); int index = in.nextInt(); if (index < 0 || index >= values.length) System.out.println("Valore errato"); else System.out.println("valore: " + values[index]); in.close(); } }