• Non ci sono risultati.

Si consideri il seguente fram- mento di codice in Java: String[] a = b

N/A
N/A
Protected

Academic year: 2021

Condividi "Si consideri il seguente fram- mento di codice in Java: String[] a = b"

Copied!
2
0
0

Testo completo

(1)

LABORATORIO DI PROGRAMMAZIONE 2002-2003 Compito Totale - 13 Dicembre 2002

NOME COGNOME MATRICOLA

Scrivere in stampatello Nome, Cognome e Matricola su ogni foglio consegnato.

Esercizio 1. Si consideri il seguente fram- mento di codice in Java:

String[] a = b;

int i=0; int cont=0;

boolean p=false; int j=0;

while (i < a.length && !p) {

for (j=0; j<a[i].length(); j++) { if (a[i].charAt(j) == ‘z‘)

cont++;

}

if (cont > a.length) p = true;

i++;

}

Determinare il valore finale delle variabili i, cont e p nei seguenti casi:

1) b = {"xyzz","zhjkzz","xzx"};

2) b = {"ggf","zed"}.

Esercizio 2. Scrivere un metodo che, dati tre interi i, j ed n, restituisce un array di interi di lunghezza n, i cui primi due ele- menti sono i e j, ed ogni elemento succes- sivo `e uguale al prodotto dei due elementi che lo precedono nell’array. Ad esempio, dati i=3, j=-2 ed n=5, il metodo restituisce l’array {3,-2,-6,12,-72}.

Esercizio 3. Scrivere un metodo ricor- sivo che, dato un array a di interi, re- stituisce true se ogni elemento di a (ec- cetto i primi due elementi) `e uguale alla somma dei due elementi che lo precedono, e false altrimenti. Ad esempio, dato a = {5,-1,4,3,7,10,17}, il metodo restituisce true, mentre se a = {5,-1,4,4,7,10} il metodo restituisce false.

Esercizio 4. Si consideri il seguente fram- mento di codice in Java:

class Exception1 extends Exception { } public class A1 {

public static int metodo (String x) throws Exception1 {

try {

if (x.charAt(0) == ‘a‘) throw new Exception1();

else return x.length();

}

catch (Exception1 e) { if (x.length() < 3)

return metodo("b"+x)+1;

else throw e;

} } }

Determinare il valore restituito dalle seguenti chiamate:

1) A1.metodo("a");

2) A1.metodo("bb");

3) A1.metodo("abc").

(2)

Esercizio 5. Scrivere una classe Elettrodomestico, i cui oggetti sono caratterizzati dal tipo (Es. Lavatrice), la marca (Es. Ariston), la sigla del modello (Es. AB66X) ed il voltaggio (Es. 220). Definire un costruttore per gli oggetti della classe (con le opportune eccezioni in caso di parametri numerici non corretti) ed i seguenti metodi:

- i metodi che restituiscono i valori delle variabili istanza;

- un metodo etichetta che restituisce le informazioni relative ad un elettrodomestico, per esempio una stringa della forma Lavatrice Ariston, modello AB66X, 220V.

Esercizio 6. Un frigocongelatore `e un elettrodomestico caratterizzato dalla capacit`a del reparto frigorifero (Es. 250 litri), la capacit`a del reparto congelatore (Es. 70 litri) ed il consumo medio annuo (Es. 300kW). Scrivere una classe Frigocongelatore, il cui costrut- tore segnali eventuali casi di parametri non corretti tramite eccezioni. Tra i metodi della nuova classe, oltre a quelli che restituiscono i valori delle variabili istanza, definire un metodo etichetta che restituisce le informazioni relative ad un frigocongelatore, per esempio Frigocongelatore Ariston, modello MTA296V, 220V, capacit`a frigorifero 250, capacit`a congelatore 70, consumo 300.

Esercizio 7. Scrivere una classe NegozioElettrodomestici, i cui oggetti sono caratterizzati dal nome del negozio, l’indirizzo e l’insieme di elettrodomestici in vendita presso il negozio (il cui numero massimo viene impostato dal costruttore della classe). Oltre ai metodi che restituiscono i valori delle variabili istanza, definire i seguenti metodi:

- un metodo che aggiunge un elettrodomestico;

- un metodo che restituisce l’elenco di tutti gli elettrodomestici di una data marca m.

Riferimenti

Documenti correlati

Tra i metodi della nuova classe, oltre a quelli che restituiscono i valori delle variabili istanza, definire un metodo etichetta che restituisce le informazioni relative ad

Scrivere un metodo che, dati un array di interi a (contenente almeno due elementi), un intero v ed un intero k (k&gt;0), restituisce true se in a esistono almeno k coppie di interi,

Le due classi, oltre ad ereditare i metodi della classe Contenitore di animali, hanno metodi che restituiscono l’habitat (classe Gabbia) ed il tipo di acqua e il flusso

Usando le classi del precedente esercizio, scrivere una semplice classe Agenzia Assicurativa, dove ciascun oggetto della classe `e caratterizzato dal nome dell’agenzia e da un elenco

La banca dati di un’agenzia assicurativa per auto `e caratterizzata da un insieme di polizze di assicurazioni per

- un metodo che, data una stringa s che denota il nome di una casa editrice, restituisce l’elenco dei quotidiani venduti da un’edicola che sono pubblicati da s.

Scrivere un metodo statico iterativo che, dato un array bidimensionale a di stringhe, restituisce un array monodimensionale b di stringhe tale che b[i] `e la stringa

- un metodo che, data una stringa s che denota un titolo, restituisce true se un libro con titolo s compare nell’elenco dei libri di uno scolaro;. - un metodo che, data una stringa