110 likes | 403 Views
Corso JAVA. Lezione n° 07 - Esercitazione. Istituto Statale di Istruzione Superiore “F. Enriques”. Corso di Programmazione in Java – Lezione n° 06. Esercizio 1.
E N D
Corso JAVA Lezione n° 07 - Esercitazione Istituto Statale di Istruzione Superiore “F. Enriques”
Corso di Programmazione in Java – Lezione n° 06 Esercizio 1 Riprendiamo l’esercizio del calcolo del bollo di circolazione implementato non più con la programmazione imperativa, ma con la programmazione ad oggetti. In particolare: • Implementare una classe Auto contenente almeno gli attributi privati: Marca, Targa, TipoCombustione, Cv. ed almeno i Metodi Stampa_Dati e Converti Cv_Kw; N.B.: Conversione 1 Cv = 0,735Kw. • Implementare un metodo della classe Main che calcola il valore del bollo di circolazione prendendo in input il tipo e la potenza del veicolo restituendo un importo. • Il programma principale, utilizzando il metodo precedente e la classe Auto: • inizializza un array di oggetti di tipo Auto ed esegue una stampa dei dati di tutte le auto contenute nell’array. • In seguito di ogni elemento dell’array ne calcola l’importo del bollo di circolazione e stampa il risultato insieme alla targa del veicolo e alla sua potenza in kw. • Stampare i dati dell’auto più vecchia Istituto Statale di Istruzione Superiore “F. Enriques”
Corso di Programmazione in Java – Lezione n° 06 Classe Auto (1/2) class Auto { private String Marca; private String Targa; private String TipoCombustione; private int CV; private Anno_Immatricolazione; public Auto(String marca, String targa, String combustione, int cv, int a ) { Marca=new String(marca); Targa=new String(targa); TipoCombustione=new String(combustione); CV=cv; Anno_Immatricolazione= a; } Istituto Statale di Istruzione Superiore “F. Enriques”
Corso di Programmazione in Java – Lezione n° 06 Classe Auto (2/2) public void Stampa_Dati() { System.out.println("Marca: \t" + Marca + "\t Targa: " + Targa + "\t Tipo: \t" + TipoCombustione + "\t Potenza CV: \t" + CV); } public int Converti_Cv_in_Kw() { int kw; kw=(int)(CV*0.735); return(kw); } public String Get_Targa() {return(Targa);} public String Get_Tipo() {return(TipoCombustione);} public int Get_CV() {return(CV);} } Istituto Statale di Istruzione Superiore “F. Enriques”
Corso di Programmazione in Java – Lezione n° 06 Metodo Calcola Bollo public static float Calcola_Bollo(String Tipo, int Kw) { float importo = 0; if(Tipo=="Benzina") { if( Kw < 11 ) importo = 70; if((Kw>=11)&(Kw<=25)) importo = 120 + ( Kw * 10 ); if( Kw > 25) importo = 170 + ( Kw * 12 ); } else //Diesel { if( Kw < 11 ) importo = 100; if((Kw>=11)&(Kw<=25)) importo = 170 + ( Kw * 12 ); if( Kw > 25) importo = 250 + ( Kw * 15 ); } return(importo); } Istituto Statale di Istruzione Superiore “F. Enriques”
Corso di Programmazione in Java – Lezione n° 06 Main Manca la stampa dell’auto più vecchia perché non mi entrava nella slide public static void main(String[] args) { Auto ListaAuto[] = new Auto[5]; ListaAuto[0]= new Auto("Ford","su284nb","Benzina",60); ListaAuto[1]= new Auto("Fiat","bf730nm","Diesel",140); ListaAuto[2]= new Auto("Ferrari","hd264hd","Benzina",300); ListaAuto[3]= new Auto("Audi", "bn385jg","Diesel",200); ListaAuto[4]= new Auto("Opel", "sh329dh","Diesel", 125); System.out.println("Elenco Auto:"); for(int i=0; i<ListaAuto.length; i++) { ListaAuto[i].Stampa_Dati(); } for(int i=0; i<ListaAuto.length; i++) { int kw = ListaAuto[i].Converti_Cv_in_Kw(); String tipo = ListaAuto[i].Get_Tipo(); System.out.println(" Targa del veicolo: " + ListaAuto[i].Get_Targa() + " Potenza Kw: " + kw + " Importo Bollo:" + Calcola_Bollo(tipo,kw)); } }; Punto n°2 Punto n°1 Istituto Statale di Istruzione Superiore “F. Enriques”
Output Elenco Auto: Marca: Ford Targa: su284nb Tipo: Benzina Potenza CV: 60 Marca: Fiat Targa: bf730nm Tipo: Diesel Potenza CV: 140 Marca: Ferrari Targa: hd264hd Tipo: Benzina Potenza CV: 300 Marca: Audi Targa: bn385jg Tipo: Diesel Potenza CV: 200 Marca: Opel Targa: sh329dh Tipo: Diesel Potenza CV: 125 Targa del veicolo: su284nb Potenza Kw: 44 Importo Bollo:910.0 Targa del veicolo: bf730nm Potenza Kw: 102 Importo Bollo:1780.0 Targa del veicolo: hd264hd Potenza Kw: 220 Importo Bollo:3550.0 Targa del veicolo: bn385jg Potenza Kw: 147 Importo Bollo:2455.0 Targa del veicolo: sh329dh Potenza Kw: 91 Importo Bollo:1615.0