Cerchio #1

Diametro, circonferenza e area dato il raggio import javax.swing.JOptionPane; public class Cerchio1 { public static void main(String args[]) { // i dati del problema final double PIGRECO = 3.14159; double raggio, diametro, circonferenza, area; // input String stringa; stringa = JOptionPane.showInputDialog(“Raggio?”); raggio  = Double.parseDouble(stringa); // elaborazione diametro      = 2*raggio; circonferenza = 2*PIGRECO*raggio; area … Leggi tutto

Classi per matrici #2

Matrice sparsa Si tratta di matrici grandi ma con un gran numero di elementi nulli. Si può risparmiare spazio e tempo memorizzando solo i valori diversi da zero, con il numero di riga e di colonna, a scapito di un impegno maggiore nell’implementazione dei metodi public class Elemento { public int riga, colonna; public double … Leggi tutto

Classi per matrici #1

Matrice 2×2 Una matrice 2×2 è costituita da 4 numeri reali non necessariamente disposti per righe e colonne… public class Matrice2x2 { // attributi private double a, b, c, d; // costruttore public Matrice2x2(double na, double nb, double nc, double nd) { a=na; b=nb; c=nc; b=nd; } public double det() { return a*d-b*c; } … … Leggi tutto

Classe Punto

Un punto è caratterizzato da una coppia di numeri reali: ascissa e ordinata. public class Punto { private double x, y; public Punto(double nx, double ny) { x=nx; y=ny; } public double getX() { return x; } public double getY() { return y; } } Esercizi Realizza i metodi per calcolare la distanza dall’origine (modulo…) … Leggi tutto

Classe Orario #2

Alcuni metodi, vedi la classe Orario #1, si possono semplificare se si semplifica anche la struttura dei dati… public class Orario { // come sopra… private int secondi; public Orario(int Ore, int Minuti, int Secondi) { secondi=(Ore*MIN_ORA+Minuti)*SEC_MIN+Secondi; } public int getOre()     { return secondi/SEC_ORA;         } public int getSecondi() { … Leggi tutto

Classe Orario #1

Dovendo progettare una classe per svolgere elaborazioni con orari 10:15:37 07:06:45 23:59:59 … si possono usare tre attributi separati per ore, minuti e secondi public class Orario { final int SEC_MIN=60; final int MIN_ORA=60; final int ORE_GIO=24; final int SEC_ORA=SEC_MIN*MIN_ORA; final int SEC_GIO=SEC_ORA*ORE_GIO; private int ore, minuti, secondi; public Orario(int Ore, int Minuti, int Secondi) … Leggi tutto

Classe Libro

La classe Libro come modello di contenitore per i dati caratteristici di un libro public class Libro {    public String autore;    public String titolo;    public double prezzo; } Utilizziamo la classe Libro per gestire i dati di tre libri public class LibroTest {    public static void main(String args[])    {   … Leggi tutto

Catena di costruttori #3

Una classe può avere più costruttori… public class SuperSuperClasse {   protected int ssc;       public SuperSuperClasse()   {       ssc=1;       System.out.println(“SuperSuperClasse 1: ssc=”+ssc);   }       public SuperSuperClasse(int ssx)   {       ssc=ssx;       System.out.println(“SuperSuperClasse 2: ssc=”+ssc);   } } public … Leggi tutto

Catena di costruttori #2

Una catena di derivazione di classi con i metodi costruttori che impostano, correttamente, lo stato dell’istanza public class SuperSuperClasse {   protected int ssc;   public SuperSuperClasse(int ssx)   {       ssc=ssx;       System.out.println(“Super Super Classe: ssc=”+ssc);   } } public class SuperClasse extends SuperSuperClasse {   protected int sc;   … Leggi tutto

Catena di costruttori #1

Data la catena di derivazione di classi vuote public class SuperSuperClasse { } public class SuperClasse extends SuperSuperClasse { } public class Classe extends SuperClasse { } è possibile istanziare oggetti per ognuna di esse public class CostruttoriTest { public static void main(String args[]) { SuperSuperClasse s_s_classe = new SuperSuperClasse(); SuperClasse        s_classe … Leggi tutto