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