Questo è il codice del programma scritto in laboratorio:
public class Lab_20081121 // --- MAIN { public static void main(String[] argv) { //istanza della classe Rettangolo Rettangolo rettangolo; //Richiamo del costruttore per l'instanziazione dell'oggetto rettangolo = new Rettangolo(); //------------- rettangolo.setBase(5); rettangolo.stampaBase(); } public static void stampa(String s) { System.out.println(s); } } class Rettangolo { //ATTRIBUTI private double base; private double altezza; //COSTRUTTORE public Rettangolo() { stampaBase(); } //METODI public void setBase(double tbase) //Assegna la base al rettangolo { base = tbase; } public double getBase() //Prende il valore della base del rettangolo { return base; } public void stampaBase() //Stampa a schermo del valore della base { Lab_20081121.stampa( "" + getBase() ); } }
Testo dell’esercizio da svolgere in laboratorio:
- Campi della classe privati
- Metodi per accedere e modificare i campi della classe
- Metodo per richiedere base e altezza da tastiera
- Costruttore che imposta al momento dell’instanziazione dell’oggetto base e altezza uguali a 1
- Metodo statico per calcolare il perimetro
import java.util.*; public class Rettangolo { //Attributi private double base, altezza; //Costruttore public Rettangolo() //Costruttore che inizializza una base e un'altezza di default { base = 1; altezza = 1; stampa("Base: "+base+", Altezza: "+altezza); } //Metodi public void setBase(double tbase) //Assegnazione di un valore alla base { base = tbase; } public double getBase() //Prelevamento del valore della base { return base; } public void setAltezza(double taltezza) //Assegnazione di un valore all'altezza { altezza = taltezza; } public double getAltezza() //Prelevamento del valore dell'altezza { return altezza; } public void getBaseEAltezzaDaTastiera() { //Oggetto per la gestione dell'input da tastiera Scanner in = new Scanner(System.in); //Stampa di un messaggio e richiesta del valore della base stampa("Inserisci il valore della base: "); base = in.nextDouble(); //Stampa di un messaggio e richiesta del valore dell'altezza stampa("Inserisci il valore dell'altezza"); altezza = in.nextDouble(); } //Metodi Statici public static void stampa(String s) //Metodo per la stampa del testo { System.out.println(s); } public static double perimetro(double base, double altezza) //Metodo per il calcolo del perimetro dati base e altezza { return (base * 2) + (altezza * 2); } public static double area(double base, double altezza) //Metodo per il calcolo dell'area dati base e altezza { return base * altezza; } public static double diagonale(double base, double altezza) //Metodo per il calcolo della diagonale dati base e altezza { return Math.sqrt(Math.pow(base, 2) + Math.pow(altezza, 2)); } }
Per fare una prova potete scrivere un main molto semplice come questo:
public static void main(String[] argv) { Rettangolo r = new Rettangolo(); Rettangolo.stampa( ""+Rettangolo.diagonale(r.getBase(), r.getAltezza()) ); }
