/******************************************************* ******************************************************* ** Completare la classe aggiungendo la definizione ** ** dei metodi usati dal main ** ** I metodi devono essere definiti all'interno ** ** della classe Esercitazione05 ** ** indifferentemente prima o dopo il main ** ******************************************************* ******************************************************* * ******** * visualizzaVettore: deve visualizzare, usando System.out.print * e System.out.println, * una riga contenente un messaggio, seguita dagli elementi * dell'array separati da due spazi. * L'array e il messaggio vengono passati come parametri. * Dopo aver visualizzato l'ultimo elemento e' necessario andare a capo. * Per esempio: Ecco il vettore a 1 42 0 344 5 6 * ******** * media: restituisce (NON STAMPA!) la media (double) degli elementi * dell'array passato come parametro. * ******** * prodottoScalare: restituisce (NON STAMPA) il prodotto scalare (int) dei due * array passati come parametri. * Nel caso dei vettori a e b dell'esempio, il risultato deve essere 9469 * Si assume che i due array abbiano la stessa lunghezza. * ******** * contaZeri restituisce il numero di elementi pari a zero trovati * nell'array parametro * ******** * contaMaggiori restituisce il numero di elementi nell'array * primo parametro che sono maggiori del valore del secondo parametro * ******** * compatta: riceve come parametro un array di interi, e restituisce il * riferimento a un nuovo array. * Il metodo deve creare un nuovo array di dimensione pari al numero di * elementi del primo array diversi da zero (si puo' usare il metodo contaZeri), * e inserire nel nuovo array tali elementi. Gli elementi devono * essere copiati conservando l'ordine in cui compaiono nel primo array. * Nel caso dell'array b inizializzato nel codice, l'array compattato * conterra' gli elementi 5 18 25 18 * ******** */ public class Esercitazione5 { // INSERIRE QUI I NUOVI METODI public static void main(String[] vv) { /* gli array seguenti sono inizializzati per semplificare * la messa a punto dei metodi * Naturalmente il codice scritto deve funzionare correttamente * qualunque sia il contenuto degli array */ int[] a={1,42,0,344,5,6}; int[] b={5,18,0,25,0,18}; visualizzaVettore(a, "Ecco il vettore a"); visualizzaVettore(b, "Ecco il vettore b"); /* spostare in basso questa due righe di inizio commento * man mano che vengono scritti e provati i metodi richiesti if(media(a)>50) System.out.println("La media di a e' maggiore di 50"); else System.out.println("La media e' minore di 50"); int prodotto = prodottoScalare(a,b); System.out.println("Il prodotto scalare e' " + prodotto); int numZeriB; numZeriB=contaZeri(b); System.out.println("Il vettore b contiene "+numZeriB+" elementi pari a zero"); System.out.println("Il vettore a contiene "+contaZeri(a)+" elementi pari a zero"); System.out.println("Il vettore b contiene "+contaMaggiori(b, 15)+" elementi maggiori di 15"); // La dimensione del nuovo array deve essere calcolata in base al // numero di elementi diversi da 0. // Notare che l'array NON viene allocato nel main, ci si aspetta che venga // allocato e restituito dal metodo "compatta" int[] bCompatto; bCompatto = compatta(b); visualizzaVettore(bCompatto, "Ecco il vettore b compattato"); FINE COMMENTO */ } }