Esercizi e Soluzioni uso Oggetti PDF

Title Esercizi e Soluzioni uso Oggetti
Course JAVA MODULO A
Institution Università degli Studi di Roma Tor Vergata
Pages 10
File Size 255.7 KB
File Type PDF
Total Downloads 115
Total Views 161

Summary

esercizi con soluzioni uso oggetti...


Description

Esempi visti a lezione Esempio1 La Classe InterfacciaConsole ha - Il metodo costruttore InterfacciaConsole() Ed il seguente metodo: - int richiediNumero(String richiesta) che 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, leggerlo e stamparlo. Esempio2 Utilizzare la classe InterfacciaConsole per richiedere all’utente di inserire due numeri x e y e confrontarli se y>x il programma stampa la scritta il max e' y altrimenti se x>y stampa la scritta il max e' x altrimenti stampa la scritta x=y. Esempio3 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. Esempio4 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 autore Renato Zero e numero i giri 33 e poi richiamare il metodo setTitolo per impostare la canzone “Chiedi” in posizione 1 quindi richiamando il metodo getGiri stampare il numero di giri del disco. Esempio5 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 primo parametro pari a 4 e secondo parametro 6,8. Richiamare i metodo perimetro visualizzando a video il perimetro e stampare il numero dei lati e il loro valore richiamando il metodo stampa. Esempio6 Considerando classe String con costruttore: String (String str) Istanziare un oggetto di nome x e di tipo String con parametro iniziale “istanziare oggetti usando new” Utilizzare il metodo int length() per stampare a video la lunghezza dell’oggetto appena istanziato 1

Creare un nuovo oggetto y di tipo String ottenuto come sottostringa di x prendendo gli ultimi 3 caratteri da lunghezza stringa -3 a lunghezza stringa, chiedendo a x di eseguire il metodo String substring(int beginIndex, int endIndex) Creare un nuovo oggetto z di tipo String usando il metodo String replaceAll(String regex, String replacement) passandogli come parametro istanziare e nuovi Stampare le tre stringhe separate dalla stringa “ - ” Esempio7 Modificare l’esempio2, determinando il massimo utilizzando la classe Math con il metodo statico static int max(int x, int y) che restituisce il massimo tra i due numeri interi passati come parametri. Utilizzare la classe InterfacciaConsole per richiedere due numeri x e y verificare se x=y, se è vero stampare la scritta x=y altrimenti calcolare il massimo tra x e y e stampare la scritta il max e' seguito dal valore restituito dal metodo max. Esempio8 Scrivere un programma che istanzia una stringa a1 pari a "Prima stringa di prova" ed un’altra stringa a2 pari a "Esercitazione sulle stringhe". Creare una terza stringa x il cui valore è dato dalla concatenazione della sottostringa di a1 da indice 0 ad indice 6 con la sottostringa di 02 da indice 0 ad indice 13, quindi stampare a video il valore della stringa x. Stampare a video il valore della stringa x con tutti i caratteri maiuscoli. Stampare a video verticalmente la stringa a1, stampando un carattere per riga. [considerare i metodi della classe String: - String substring(int beginIndex, int endIndex) restiuisce la sottostringa della stringa che esegue il metodo, che va dall’indice beginIndex a endIndex-1 - String toUpperCase() restiuisce la stringa ottenuta dalla stringa che esegue il metodo, che va dall’indice beginIndex a endIndex-1 -

char charAt(int index) restituisce il carattere presente nella stringa che esegue il metodo all’indice specificato come parametro int length() restituisce la lunghezza della stringa]

Esempio9 Avendo una classe OggStatico che ha 2 attributi: • static int varDiClasse=3; • int varDiIstanza; ed i metodi: • static void metodoStatico() che stampa a video il valore di varDiClasse • void stampa() che stampa a video il valore di varDiClasse e di varDiIstanza Dire cosa stampa il seguente programma: class ProvaStatic { public static void main(String[] args) { OggStatico.metodoStatico(); OggStatico.varDiClasse=7; OggStatico.metodoStatico(); OggStatico o1= new OggStatico(); OggStatico o2= new OggStatico(); o1.varDiIstanza=1; o1.varDiClasse=2; 2

o2.varDiIstanza=3; o2.varDiClasse=4; System.out.println("o1.varDiIstanza="+o1.varDiIstanza); System.out.println("o1.varDiClasse="+o1.varDiClasse); System.out.println("o2.varDiIstanza"+o2.varDiIstanza); System.out.println("o2.varDiClasse"+o2.varDiClasse); o1.stampa(); o2.stampa(); }}

Esercizi Esercizio1 Scrivere un programma per calcolare il numero più grande tra 5 numeri digitati dall’utente − Per richiedere il numero da confrontare si può usare il metodo int richiediNumero(String richiesta) della classe Interfaccia Console 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 Il programma richiede il primo numero e lo pone come il numero più grande, poi richiede per 4 volte di inserire un numero che confronta con il numero più grande determinato in precedenza, se è maggiore sostituisce il numero più grande con il numero appena inserito altrimenti non fa nulla. Ala fine stampa il valore del numero più grande. Esercizio2 Modificare il programma dell’esercizio 1 richiedendo all’utente quanti numeri vuole confrontare e poi richiedere e confrontare tali numeri. Esercizio3 Scrivere un programma che dopo aver generato un numero casuale compreso tra 0 e 100 chiede all’utente di indovinare il numero dandogli 6 possibilità, ad ogni tentativo indica se il numero inserito è più basso o più alto del numero da indovinare, se indovina il numero stampa la scritta "indovinato, era =" seguito dal numero random, altrimenti alla fine dei sei tentativi stampa "Numero di tentativi esaurito il numero da indovinare era =" seguito dal numero random. − Per generare il numero casuale si può usare la classe Random contenuta nel package java.util (attenzione a fare l’import) il Costruttore Random() Il metodo public int nextInt(int n) 3

restituisce un numero casuale tra 0 (compreso) e n (escluso) Quindi ogni volta che si richiama il metodo verrà restituito un numero intero a caso compreso tra 0 e n-1

Esercizio4 Modificare il programma dell’esercizio 3 in modo che alla fine della prova (6 tentativi) permetta all’utente di decidere se continuare a giocare o uscire dal programma, se decide di continuare deve essere generato un nuovo numero e riproposte le 6 possibilità.

4

Soluzioni Esempio1 class Esempio1{ 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); } } Esempio2 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' x"); else if(x...


Similar Free PDFs