/* ************************************************************************* * Ora introdurremo gli Array. * Un array e' un'insieme di elementi dello stesso tipo, cui e' possibile * accedere tramite un indice, che e' il numero dell'elemento, partendo da * zero. Per esempio con indice 0 si accede al primo elemento, con indice * 3 si accede al quarto elemento. Questi elementi possono essere delle * variabili INT,FLOAT, o di altro tipo. * Da notare che gli indici sono numeri interi non negativi, e vanno da * 0 a n-1, dove n e' il numero di elementi. * Gli indici possono essere variabili di tipo int, short, byte. * Agli array si da un nome a piacere, col quale identificheremo tutti gli * elementi (variabili) che lo compongono. In altre parole gli elementi * condividono lo stesso nome (quello dell'array). * Gli array in java sono degli oggetti, a differenza del C, ed esiste * un controllo su di essi, in modo da non poter scrivere oltre il loro * limite: se si tenta di accedere ad un array con un indice superiore * all'ultimo elemento si genera un'eccezione ArrayIndexOutOfBounds (indice * fuori dai margini). Essendo oggetti non basta dichiararli con: * * Tipo[] nome; -> Esempio: int[] mioarray; * * Ma occorre anche istanziarli, allocando memoria per essi, tramite * l'operatore "new", in questo modo: * * int[] mioarray = new int[10]; * * In questo caso dichiariamo e allochiamo un array, composto da 10 interi, * di nome mioarray. Il suo indice andra' da 0 a 9. * Si puo' anche inizializzare subito: * * int[] mioarray = {35,21,28,123,321}; * * Dichiarando i suoi elementi, si alloca come con l'operatore "new": questo * array avra' 5 elementi, con indice da 0 a 4. * Pre leggere e scrivere nell'array si usera' questa forma: * * mioarray[0]=3; * Metto nel primo elemento il valore 3 * * * Il numero che mettiamo tra parentesi quadre e' l'indice, ossia il numero * di elemento dell'array, partendo da 0. * Facciamo una prima prova con gli array. ************************************************************************* */ import java.io.*; // Include le funzioni I/O standard di base. class Jlez3a { // Da qua inizia la classe Jlez3a public static void main(String args[]) // Definiamo il metodo Main. { // Inizio del main() int[] prova = new int[4]; // Un array con 4 elementi interi, che // quindi avra' indici da 0 a 3 prova[0]=20; // Mettiamo un 20 nel primo elemento dell'array System.out.println("\nChe valore metto nel secondo elemento?"); int pippo = leggiInt(); // Chiamo il metodo "int leggiInt()" prova[1] = pippo; // Copiamo pippo nel secondo elemento... pippo *= 2; // Equivalente a pippo = pippo*2 prova[2] = pippo; // Il terzo elemento vale pippo*2 pippo = prova[0] + prova[1]; prova[3] = pippo; // Il quarto elemento e' uguale al primo // piu' il secondo System.out.println("\nIl primo elemento vale " + prova[0]); System.out.println("\nIl secondo elemento vale " + prova[1]); System.out.println("\nIl terzo elemento vale " + prova[2]); System.out.println("\nIl quarto elemento vale " + prova[3]); } // Fine del metodo principale Main() /* ------------------------------------------------------------------------- * Ora definiamo un metodo chiamato leggiInt(), che in entrata non ha * parametri, e in uscita restituisce un numero intero immesso da tastiera. * int leggiInt() * ----------------------------------------------------------------------- */ public static int leggiInt() { try { DataInputStream leggilo = new DataInputStream(System.in); String stringa = leggilo.readLine(); // dichiaro e leggo stringa. return(Integer.valueOf(stringa).intValue()); // e la converto in int. } catch (Exception e) { System.out.println("Errore: " + e + " nella lettura da tastiera"); System.exit(0); return(-1); // Questo return serve solo perche' il metodo // abbia un int di ritorno anche in caso di errore } } // Fine di "int leggiInt()" } // Fine della classe Jlez3a