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