Esercizio 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
public class SuperCls { private int n; protected static int x; SuperCls (int i) { n = i; x = i+2; } public int metodoA (int i) { return i; } public void metodoB (int i) { System.out.println (i; } public void metodoC (int i) { System.out.println (i*2); x = i; } public static void metodD (){ … } } public class SottoCls extends SuperCls { public int n; private int x; SottoCls (int i) { n = i; x = i*2; } public int metodoA (int i, int y){ return i*y; } public int metodoB (int i) { return (i+100); } public void metodoC (int i) { System.out.println (i); } public void metodD (int i) { } }
SuperCls
, eventualmente corregerli.
SottoCls
costituiscono sovraccaricamento, sovrascrittura o errore:
metodoA metodoB metodoC metodoD
SottoCls (int i)
SuperCls p = new SuperCls (3);
e SottoCls f = new SottoCls (5);
dire quali saranno i valori di ritorno o l'output di:
p.n; p.x; f.n; f.metodoA (f.n, x); p.x (attenzione!!) p.metodoC (p.n); f.metodoC (f.n); p.x (attenzione!!) f.metodA (f.n, x);
int z = p.metodoB(15);
int z = f.metodoB(15);
for (int i = 0; i < 100; i++) { if (i == 35) break; if (i % 5 != 0) continue; System.out.println (i); }
int i = 0; while (true) { i++; int j = i * 4; if (j == 40) break; if (i % 10 == 0) continue; System.out.println (i); }
Indicare il range dei valori delle seguenti dichiarazioni:Random rand = new Random ();
Inoltre scrivere un'istruzione per produrre valori paseudo-casuali nell'intervallo:rand.nextInt() % 12; (int) (Math.random () * 5);
[-12, 12]
, usando l'oggetto rand
e [5, 25]
, usando il metodo random ()
della classe
Math
.
int fibonacci (int n) { ... }
0
e 1
):0 1 1 2 3 5 8 13 21 34 …
fibonacci(0)
deve riportare 0
fibonacci(3
) deve riportare 2
mcd
(il massimo comun denominatore)
tra due numeri naturali (interi e positivi) passati come parametri di input:
static long mcd (long m, long n) { ... }
CICLO
di volte che generi due numeri casuali, interi e positivi, compresi nell'intervallo [1, 100],
e richiamando la funzione mcd
calcoli e stampi il massimo comune denominatore
tra i due numeri.
public class Test { public static void main (String[] arg) { for (int i=0; i<100; i++) if (funzione(i)) System.out.println (i); } static boolean funzione (int n) { if (n < 2) return false; if (n == 2) return true; if (n%2 == 0) return false; for (int i = 3; i < Math.sqrt(n); i += 2) if (n%i == 0) return false; return true; } }
Esercizio 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8