II Compitino | Home | I Appello
Esercizio 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
Alta
e la sua sottoclasse Bassa
:public class Alta { public int metodo_1(int i) { } public void metodo_2(int i) { } public static void metodo_3(int i) { } public static void metodo_4(int i) { } } class Bassa extends Alta { public int metodo_1(int i) { } public void metodo_2(float i) { } public void metodo_3(int i) { } public static void metodo_4(int i, int j) { } }
Per ciascun metodo della sottoclasse Bassa
dire se la definizione causa errore in compilazione
e nel caso, specificare quale, o dire se si tratta di sovrascrittura o di sovraccaricamento.
Base
, SubBase
e Test
:
class Base { int n; public Base () { } public Base (int i) { n = i; } } class SubBase extends Base { } public class Test { public void metodo() { Base b = new Base(5); SubBase sb = new SubBase (10); } public static void main (String[] a) { Test t = new Test(); t.metodo(); } }
Test
viene compilata correttamente?
1, 3, 5, 7, 9, 11, ...
generati dalla funzione
f(n)
rispettivamente per n = 0, 1, 2, 3, …
.f(n)
che li genera.
14 1 5 4 - + / 2 1 + + 2 *
.
Vanno indicati lo stato dello stack e il token correntemente letto, cioč la fotografia
dello stato della pila dopo aver letto il prossimo token:
null | null | null | null | null | ||||
null | null | null | null | null | ||||
null | null | null | null | |||||
null | null | null | null | |||||
null | null | null | null |
public class Studente { private String nome; private Data iscrizione; private Data nascita; public String laurea; private Integer esami; public Integer esami_sostenuti () { .... } } public class Dottorando extends Studente { public String dottorato; public Studente [] tutoraggio; ... }
Dottorando d = new Studente();
Dottorando d = new Dottorando(); Integer e = d.esami_sostenuti();
Studente s; s.laurea = "informatica";
Studente s = new Dottorando ); s.dottorato = "informatica";
Dottorando d = new Dottorando(); d.tutoraggio[3] = new Studente();
String[] unArray = new String[5];
for (int i = 0; i < unArray.length; i++) { unArray[i].concat("_" + i); System.out.println(unArray[i]); }
Stack
, che realizza una struttura
dati per gestire una pila:
public class Stack { private NodoStack cima; private static class NodoStack { Object dato; NodoStack pros; } public Stack() { cima = null; } public void push(Object o) { NodoStack t = new NodoStack(); t.dato = o; t.pros = cima; cima = t; } }
Object pop()
che elimina l'oggetto in cima alla pila.
PilaVuotaException
che possa essere usata nel metodo
pop()
dell'esercizio precedente per evitare un errore.
Coda
, che realizza una struttura
dati per gestire una coda:
public class Coda { private Nodo primo, ultimo; private static class Nodo { Object dato; Nodo pros; } public Coda() { primo = ultimo = null; } }
aggiungi(Object o)
che appende un nuovo oggetto
alla fine della coda.
hasNext()
e next()
dell'interfaccia Iterator
nel package java.util
per la struttura dati contenente i mesi dell'anno in ordine
(si noti che l'implementazione del metodo public void remove ()
è
richiesta dall'interfaccia Iterator
ma non da questo esercizio) e
il metodo proprio della classe int mese()
, che riporta il valore
numerico del mese corrente:
public class IteratorDemo implements java.util.Iterator { private String[] anno = {"ge", "fe", "mr", "ap", "mg", "gi", "lu", "ag", "se", "ot", "no", "di"}; private int indice = 0; public void remove () {} public int mese() {} // riporta il valore numerico del mese corrente public boolean hasNext() {} public Object next(){} }
lista_data = [ a b c ];
.lista tranne_primo(l
) riceve una lista come parametro e
riporta all'ambiente chiamante la stessa
lista tranne il primo elemento.
int funzione (lista) { se lista è vuota riporta 0 else riporta 1 + funzione (tranne_primo(lista)) }
Esercizio 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11