Esempi Esempio utilizzo di classi

Esempi
Uso classi
Esempio utilizzo di classi
La Classe InterfacciaConsole ha
Il metodo costruttore InterfacciaConsole()
Ed il seguente metodo:
int richiediNumero(String richiesta)
Stampa a video la stringa di richiesta di digitazione di un
numero passatagli per parametro e restituisce il
numero digitato dall’utente
se si verificano errori restituisce –1
Utilizzare la classe per chiedere all’utente di digitare un
numero e leggerlo
1
La Classe InterfacciaConsole ha
Il metodo costruttore
InterfacciaConsole()
InterfacciaConsole interf;
interf= new InterfacciaConsole();
int richiediNumero(String richiesta)
Stampa a video la stringa di richiesta di
digitazione di un numero passatagli per
parametro e restituisce il numero digitato
dall’utente
se si verificano errori restituisce –1
int x;
x=interf.richiediNumero("digitare il numero
x");
2
class Esempio{
public static void main (String args[]) {
InterfacciaConsole interf;
interf = new InterfacciaConsole();
int x;
x=interf.richiediNumero("digitare il numero x");
if(x==-1) System.out.println("errore");
else System.out.println("il numero inserito e': "+x);
}
C:\esercizi>javac Esempio.java
}
C:\esercizi>java Esempio
digitare il numero x
5
il numero inserito e': 5
Confronto tra 2 numeri
Inizio
Leggi x e y
Si
No
x<y
Si
Scrivi ‘il max è y’
Scrivi ‘il max è x’
x>y
Scrivi ‘x=y’
Fine
3
Confronto tra 2 numeri
class Confronto{
public static void main (String args[]) {
InterfacciaConsole interf;
interf = new InterfacciaConsole();
int x,y;
x=interf.richiediNumero("digitare il numero x");
y=interf.richiediNumero("digitare il numero y");
if(x<y) System.out.println("il max e' y");
else if(x>y) System.out.println("il max e' x");
else System.out.println("x=y");
}
}
Esercizio
Sapendo che la classe Televisore ha il
seguente costruttore:
Televisore(int pollici) ed il metodo:
String getMarca() che restituisce la marca del
televisore
Scrivere le istruzioni per istanziare un oggetto
di tipo Televisore e poi richiamare il metodo
getMarca per stampare la marca.
4
Soluzione
Televisore tele;
tele = new Televisore(24);
String pippo= tele.getMarca();
System.out.println(“la marca del televisore e’
”+pippo);
System.out.println(tele.getMarca());
Esercizio
Sapendo che la classe Disco ha il seguente
costruttore
• Disco(String Autore, int giri) ed i metodi
• int getGiri() che restituisce il numero di giri del
disco
• void setTitolo(String canzone, int p) che
definisce il nome della canzone in posizione p
Scrivere le istruzioni per istanziare un oggetto di tipo
Disco con dei parametri a scelta e poi
richiamare il metodo setTitolo per impostare la
canzone “Estate” in posizione 3 quindi
richiamando il metodo getGiri stampare il
numero di giri del disco.
5
Soluzione
Per istanziare con i parametri Anastacia e 33
• Disco mioDisco = new
Disco(“Anastacia”,33);
Per richiamare il metodo setTitolo con “Estate” e 3
• mioDisco.setTitolo(“Estate”,3);
Per stampare vi sono 2 possibilità
• int giri= mioDisco.getGiri();
System.out.println(giri);
Oppure
• System.out.println(mioDisco.getGiri());
Esercizio
• Supponendo di avere la classe Poligono avente il
seguente costruttore:
• Poligono(int numeroLati , double lato)
–
–
numeroLati = numero dei lati del poligono
lato = la lunghezza dei lati (che sono tutti uguali)
La classe Poligono ha come metodi:
• double perimetro() che calcola il perimetro del
poligono
• void stampa() che stampa il numero dei lati del
poligono e il valore del lato
• Scrivere la classe UsoPoligono.java che istanzia
un oggetto di tipo Poligono con due numeri a
piacere e richiamando i metodi di perimetro e
stampa visualizza a video il perimetro e il numero
dei lati e il loro valore.
6
Soluzione
class UsoPoligono{
public static void main(String args[]){
Poligono p;
p=new Poligono(4,6.8);
double x;
x=p.perimetro();
System.out.println("perimetro= "+x);
System.out.println("perimetro= "+p.perimetro());
p.stampa();
}
}
Esercizio
• Modificare il programma per confrontare i numeri e
determinare il massimo utilizzando la classe Math
che il ha un metodo:
public static int max(int a, int b)
• Returns the greater of two int values. That is, the
result is the argument closer to the value of
Integer.MAX_VALUE. If the arguments have the
same value, the result is that same value.
• Parameters:
a - an argument.
b - another argument.
• Returns:
the larger of a and b.
7
Confronto tra 2 numeri
Inizio
Leggi x e y
Si
No
x<y
Si
Scrivi ‘il max è y’
x>y
Scrivi ‘x=y’
Scrivi ‘il max è x’
Fine
Confronto tra 2 numeri
Inizio
Leggi x e y
Si
No
x<y
Si
Scrivi ‘il max è y’
x>y
Usare il metodo statico max e
Scrivi ‘x=y’
maxrestituisce
è x’
stampareScrivi
ciò ‘ilche
il metodo
Fine
8
Confronto tra 2 numeri
class Confronto{
public static void main (String args[]) {
InterfacciaConsole interf;
interf = new InterfacciaConsole();
int x,y;
x=interf.richiediNumero("digitare il numero x");
y=interf.richiediNumero("digitare il numero y");
int max=Math.max(x,y);
System.out.println("il max e' “+max);
}
}
Confronto tra 2 numeri
class Confronto{
public static void main (String args[]) {
InterfacciaConsole interf;
interf = new InterfacciaConsole();
int x,y;
x=interf.richiediNumero("digitare il numero x");
y=interf.richiediNumero("digitare il numero y");
if (x==y) System.out.println("x=y");
else System.out.println("il max e' “ +Math.max(x,y));
}
}
9