java se 7 - · pdf filearray monodimensionali (vettori) (1) gruppo di variabili dello stesso...

17
Java SE 7 Strutture di programmazione (4) [email protected] [email protected]

Upload: lyphuc

Post on 09-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Java SE 7Strutture di programmazione (4)

[email protected]@gmail.com

Array monodimensionali (vettori) (1)Gruppo di variabili dello stesso tipo a cui ci si riferisce con un nome comune ed un indice numerico.

In Java gli array sono degli oggetti!

Creazione:tipo[] nomeArray = new tipo[dimensione];

● int[] carte = new int[52]; // dimensionamento statico● int carte[] = new int[52]; // dimensionamento C like

● String[] settimana = new String[7];

● int[] risultati = new int[n]; // dimensionamento dinamico

Array monodimensionali (vettori) (2)Accesso agli elementi:

nomeArray[indice];

● risultati[0]=6;● settimana[1]="Lunedì";

Inizializzazione in linea;

● int[] risultati = {6, 8, 23, 45, ...};● String[] settimana = {"Lunedì", "Martedì", ...};

Per accedere al numero di elementi totali:● nElem=risultati.length; // attributo della classe● System.out.println(settimana.length);

risultati

elem 0 6

elem.1 8

elem.2 23

elem.3 45

... ...

Esercizio J21Array Creare un array di 10 elementi e riempirlo di numeri casuali compresi tra 1 e 100.

Successivamente effettuare un ciclo per ritrovare il numero più piccolo.

Nome progetto J21Array

Ulteriori modifiche:● calcolo del valore più grande● calcolo della media dei valori

Esercizio J22OrdinamentoArrayCreare un array di 10 elementi e riempirlo di numeri casuali compresi tra 1 e 100.

Utilizzare il metodo dello scambio per ordinare l'array.

Nome progetto J22OrdinamentoArray

Esercizio J23CercaInArrayCreare un array di 50 interi, e riempirlo di interi casuali compresi fra 1 e 100. Far visualizzare:● quanti e quali sono gli elementi pari ● quanti e quali sono i multipli di 3● quanti e quali non sono divisibili per 4

Esempio di output4, 12, 46Elementi pari: 312, 9Elementi multipli di 3: 24, 12, 9, 46, 31Elementi non divisibili per 4: 5

Esercizio J24CercaInArray2

Creare un array di 20 interi, e riempirlo di interi casuali compresi fra 1 e 100. Dare la possibilità all'utente di cercare all'interno dell'array un numero inserito da tastiera, e fare dire al programma quante volte il numero è presente e in quali posizioni (indici).

Miglioramento:Dare la possibilità all'utente di fare più volte la ricerca e di fargli interrompere il programma quando inserisce il valore 0.

Esercizio J25ArrayPariDispari

Creare un array di 20 interi, e riempirlo di interi casuali compresi fra 1 e 40. Verificare se:● gli elementi in posizione pari sono pari ● gli elementi in posizione dispari sono dispari

Esercizio J26InvertiArray

Creare un array di 20 interi, e riempirlo di interi casuali compresi fra 1 e 40. Visualizzare l'array su una riga con gli elementi separati da una virgola. Far invertire l'array al programma e visualizzare il risultato su una riga, con gli elementi separati da una virgola.

(Invertire l'array significa che il primo elemento deve andare al posto dell'ultimo, il secondo al posto del penultimo, e così avanti)

Esercizio J27SommaArray

Creare due array (arrayA e arrayB) di 20 elementi ciascuno. Riempire entrambi gli array con dei numeri casuali compresi fra 1 e 100. Creare un array (arraySomma). Ogni elemento in un dato indice i di arraySomma dovrà essere la somma dell'elemento di indice i di arrayA più l'elemento di indice i di arrayB

INDICE arrayA arrayB arraySomma

0 12 3 15

1 13 5 18

... .. ... ..

Array multidimesionale (matrice) (1)Gruppo di valori organizzati in tabella (2 dimensioni) o strutture multidimensionali.

Creazione:tipo[][][...] nomeArray = new tipo[dim1][dim2][...];

● int [][] tabella= new int[4][3];● int [][] tabella= {{1,3,5},{7,9,11},{13,15,17},{19,21,23}};

tabella col.0 col.1 col.2

riga 0 1 3 5

riga 1 7 9 11

riga 2 13 15 17

riga 3 19 21 23

Array multidimesionale (matrice) (2)Accesso agli elementi:

nomeArray[indice1][indice2][...];

● tabella[0][1]=3;● System.out.println(tabella[2][2]);

tabella col.0 col.1 col.2

riga 0 1 3 5

riga 1 7 9 11

riga 2 13 15 17

riga 3 19 21 23

Esercizio J28ArrayMultiDim

Creare un array multidimensionale che rappresenti una tabella con 3 righe e 5 colonne. Inserire dei numeri casuali per riempire questo array e visualizzarlo.

Esercizio J29ArrayMultiDim1

Creare un array multidimensionale che rappresenti una tabella con 4 righe e 5 colonne. Inserire dei numeri casuali per riempire questo array e visualizzarlo. Far inserire all'utente un numero da tastiera e cercare l'elemento nell'array. Se l'elemento è presente, far visualizzare gli indici dell'elemento (la sua posizione all'interno dell'array).

Miglioramento:Dare la possibilità all'utente di fare più volte la ricerca e di fargli interrompere il programma quando inserisce il valore 0.

Esercizio J30ArraySomme

Creare un array multidimensionale che rappresenti una tabella con 10 righe e 10 colonne. Ogni elemento dell'array è dato dalla somma degli indici.

Esempiotabella[2][5] conterrà il valore 7 (2+5)

Visualizzare l'array.

Esercizio J31ArrayNominativiCreare un array multidimensionale di tipo String[][] che rappresenti una tabella con 5 righe e 2 colonne. Ogni riga dell'array contiene il nome e il cognome di una persona.

Creare un ciclo che permetta di inserire le 5 coppie nome-cognome. Una volta inseriti tutti i dati far visualizzare l'array nel seguente modo:

1. Pino Pini2. Carlo Carletti...

Esercizio J32BattagliaNavaleSimulare un gioco molto semplice della battaglia navale.Creare una tavola di gioco di 5x5 e posizionare casualmente 5 navi di una cella sola.

Richiedere riga e colonna e dichiarare se si è colpita la nave o meno.Reiterare fino a che non si trovano tutte le navi.