/** * 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 * ArrayIndexOutOfBoundsException 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 SelectValue2 { public static void main(String[] args) { final int ARRAY_LENGTH = 1000; 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; 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(); } }