Semafori
Con questo programma in Java sarete in grado di studiare la programmazione ad oggetti, studiando il caso specifico dei semafori, con la possibilità di cambiare, a vostra scelta, tra semafori italiani o esteri.
public class Semaforo { // un semaforo deve sapere di che colore è private int colore; // 0 = verde - 1 = arancione - 2 = rosso private final static int VERDE = 0; private final static int ARANCIONE = 1; private final static int ROSSO = 2; private final static int ARANCIONE2 = 3; // per rendere un semaforo non per forza italiano (inglese in questo caso) // scritto così il semaforo nasce inglese private static boolean nazionalità ; // se la modifichiamo, cambia ovunque. private final static boolean ITALIANA = true; private final static boolean INGLESE = false; // int colore = verde per default finchè non metto questo: public Semaforo () { } public void rosso () { colore = ROSSO; } public void arancione () { colore = ARANCIONE; } public void verde () { colore = VERDE; } public void prossimo () { if (nazionalità == ITALIANA && colore == ARANCIONE2) colore = ARANCIONE; colore++; if (nazionalità == ITALIANA) colore %= 3; else colore %= 4; } // metodo statico per parlare all'intera classe public static void diventaItaliano () { // static su un metodo -> si aplica su una classe, non su un campo nazionalità = ITALIANA; } public static void diventaInglese () { // metodi statici accedono solo a campi e oggetti staitici a loro volta nazionalità = INGLESE; } public String toString () { // lol switch (colore) { case VERDE: return "O\nO\n*\n"; case ARANCIONE: case ARANCIONE2: return "O\n*\nO\n"; case ROSSO: return "*\nO\nO\n"; default: return ""; // non si verificherà mai, ma il compilatore lo vuole. } } }
Per ogni dubbio, non esitate a commentare!
No trackbacks yet.