Fondamenti di Informatica. Dichiarazione, creazione e gestione di array in Java



Похожие документы
Algoritmi di Ricerca. Esempi di programmi Java

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Concetto di Funzione e Procedura METODI in Java

3. La sintassi di Java

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Parcheggio.rtf 1/8 6 gennaio Prova di programmazione: parcheggio a pagamento

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

Vettori Algoritmi elementari di ordinamento

ARRAY E STRINGHE. G. Frosini Slide 1

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002.

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

esercizi Esercizi / problemi

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Luglio Soluzione degli Esercizi

10 - Programmare con gli Array

Le variabili. Olga Scotti

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Informatica Medica Esercitazione 1I ! Alessandro A. Nacci - alessandronacci.com

Esercizi della lezione 5 di Java

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

Laboratorio di programmazione

Polinomio di secondo grado: Calcolo delle soluzioni di una equazione di secondo grado: import GraphicIO.*; public class Polinomio2 {

Esempi di esercizi d esame

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Inizializzazione, Assegnamento e Distruzione di Classi

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

E17 Esercizi sugli Array in Java

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

dall argomento argomento della malloc()

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }

Java: Compilatore e Interprete

Introduzione al linguaggio C Gli array

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

Array Bidimensionali in Java. Esempi di Elaborazioni su Matrici

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Esercitazione n 4. Obiettivi

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

Programmazione ad Oggetti: JAVA. Esercitazione

Esempio: il conto bancario

Definizione di classi con array di oggetti

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Programmazione 1 A.A. 2015/2016

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a I scritto Febbraio 11 Febbraio 2011

Ingegneria del Software

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1

String, Array e Main. Lezione 7

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Java threads (2) Programmazione Concorrente

Controllo degli accessi

Algoritmi di Ricerca. Esempi di programmi Java

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Semplici Algoritmi di Ordinamento

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

GESTIONE INFORMATICA DEI DATI AZIENDALI

Programmazione in Java Parte I: Fondamenti

Programmazione ad oggetti

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Un esercizio d esame. Flavio De Paoli

Sottoprogrammi: astrazione procedurale

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:

Visibilità dei Membri di una Classe

Parola chiave extends

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

Corso di Fondamenti di Informatica

Record in C: il costruttore struct.

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Esercizio 6 Realizzare una classe astratta per le Figure piane e due sottoclassi, la sottoclasse Quadrato e la sottoclasse Rettangolo.

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

La selezione binaria

Транскрипт:

Fondamenti di Informatica Dichiarazione, creazione e gestione di array in Java

Array in Java - creazione La creazione fa una inizializzazione implicita: num = new int[10]; con valore 0 per int e double, false per i boolean. Dopo la creazione, un array ha lunghezza fissata (e non può cambiare nel programma tramite una nuova dichiarazione). Gli elementi di un array possono essere assegnati ad elementi di un array dello stesso tipo: int x[] = new int[10]; int y[] = new int[50]; x[3] = y[5];

Array in Java - copia Se si vuole copiare un array in un altro: int vet1[] = new int[20]; int vet2[] = new int[20]; for(int i=0; i< 20; i++) vet1[i] = vet2[i]; Se si vuole copiare una parte di array in un altro: int vet3[] = new int[10]; for(int i=0; i< 10; i++) vet3[i] = vet1[i]; Per copiare la prima metà di vet1 in vet3.

Array in Java - copia Se si vuole copiare una parte di array in un altro: int veta[] = new int[20]; int vetb[] = new int[10]; Per copiare la seconda metà di veta in vetb. for(int i=0; i< 10; i++) vetb[i] = veta[i+10]; oppure for(int i=10; i< 20; i++) vetb[i-10] = veta[i];

Array in Java - copia Se si vuole copiare gli elementi di vet1 in vet2 in ordine inverso: int vet1[] = new int[20]; int vet2[] = new int[20]; for(int i=0; i< 20; i++) vet2[i] = vet1[19-i];

Array in Java - copia Se si vuole copiare da array ad array si può usare il metodo System.arraycopy(arr-orig, pos, arr-des, pos, cont) Esempi: System.arraycopy(vet1, 0, vet2, 0, 15); Copia i primi 15 elementi di vet1 in vet2 System.arraycopy(vet2, 5, vet3, 0, 10) Copia 10 elementi (a partire dal sesto) di vet2 in vet3.

Array in Java assegnamento tra array Si possono assegnare anche array (ma bisogna porre attenzione a quello che accade se i due array non hanno lunghezza uguale!) x = y; riferimento alla stessa locazione di memoria (quella di Dopo questa operazione le due variabili fanno y); 3 1 3 1 x 9 y 8 x 9 y 8 Prima 6 9 Dopo 6 9 0 7 0 7 7 7

Array in Java - lunghezza Ad ogni variabile array è associata implicitamente una variabile istanza length: int [] seq = new int[5] seq.length avrà valore 5 Esempi di uso - N = seq.length; assegna 5 ad N - System.out.println(seq.length); Visualizza il valore 5 Uso nel ciclo for - for(int i=0; i<vet1.length; i++) vet1[i] = vet2[i];

Array in Java Massimo tra due numeri class maxtraduenum { public static void main(string args[]) { int[] x; int max; x = new[2]; x[0]= Console.readInt("dammi il primo numero"); x[1]=console.readint("dammi il secondo numero"); if (x[0] > x[1]) max=x[0]; else max=x[1]; System.out.println ("Massimo = " + max);

Array in Java Massimo tra N numeri class cercamassimo { public static void main(string args[]) { int[] seq; int max, ind; seq = new int[10]; for (ind=0; ind < 10; ind++) { seq[ind] = Console.readInt("dammi un numero"); max = seq[0]; for(ind=0; ind < 10; ind++) { if (seq[ind] > max) max = seq[ind]; System.out.println ("Massimo = " + max);

Array Multidimensionali Array bidimensionali In Java si possono avere array a più dimensioni. Gli array a due dimensioni in Java si realizzano come array di array. Dichiarazione: int [][] Matrice = new int[3][5]; [riga, colonna] Matrice[0] 12 3 27 74 0 Matrice[1][3] Matrice[1] 4 15 33-1 2 Matrice[2] 8 30 56 32 8

Array Multidimensionali Array bidimensionali Assegnamento di un elemento matrice[3][5] = 10; Assegnamento di una riga matrice[3] = {10, 15, 20, 25, 30, 35; Il numero di righe è dato da int nrighe = matrice.length Il numero di colonne è dato da int ncolonne = matrice[0].length

Array con righe di lunghezza variabile In un array bidimensionale in Java si possono avere righe di lunghezza differente. Dichiarazione: int[][] tabella = new int[4][]; Assegnamento for(int i=0; i<tabella.length; i++) tabella[i] = new int[i+1]; 12 3-6 21 0 7 2 54 80 45

Array Leggere i valori di una matrice class matrice {..... public void leggimatrice() { int[][] mat; int i,j; mat = new int[4][5]; for (i=0; i < 4; i++) { for(j=0; j < 5; j++) mat[i][j]= Console.readInt("dammi un elemento");....