Compito concluso
This commit is contained in:
@@ -18,6 +18,7 @@ public class LettoreMultimediale {
|
|||||||
* @param args the command line arguments
|
* @param args the command line arguments
|
||||||
*/
|
*/
|
||||||
static Scanner sc = new Scanner(System.in);
|
static Scanner sc = new Scanner(System.in);
|
||||||
|
static final String ERRORE_DEFAULT = "Opzione non valida.";
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
int scelta = -1;
|
int scelta = -1;
|
||||||
@@ -37,24 +38,27 @@ public class LettoreMultimediale {
|
|||||||
switch (scelta) {
|
switch (scelta) {
|
||||||
case 0:
|
case 0:
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1, 2, 3, 4, 5:
|
||||||
case 2:
|
if (libreria[scelta - 1] instanceof Riproducibile) {
|
||||||
case 3:
|
System.out.println(libreria[scelta - 1].play());
|
||||||
case 4:
|
} else {
|
||||||
case 5:
|
System.out.println(libreria[scelta - 1].show());
|
||||||
if(libreria[scelta - 1] instanceof Riproducibile){
|
|
||||||
libreria[scelta - 1].play();
|
|
||||||
}
|
}
|
||||||
else{
|
if (libreria[scelta - 1] instanceof Visualizzabile) {
|
||||||
libreria[scelta - 1].show();
|
modifica(false, libreria[scelta - 1]);
|
||||||
|
System.out.println("Modifica avvenuta con successo.");
|
||||||
|
}
|
||||||
|
if (libreria[scelta - 1] instanceof Ascoltabile) {
|
||||||
|
modifica(true, libreria[scelta - 1]);
|
||||||
|
System.out.println("Modifica avvenuta con successo.");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
System.out.println("Opzione non valida.");
|
System.out.println(ERRORE_DEFAULT);
|
||||||
pausa();
|
pausa();
|
||||||
}
|
}
|
||||||
} catch (InputMismatchException _) {
|
} catch (InputMismatchException _) {
|
||||||
System.out.println("Opzione non valida.");
|
System.out.println(ERRORE_DEFAULT);
|
||||||
pausa();
|
pausa();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,4 +69,75 @@ public class LettoreMultimediale {
|
|||||||
System.out.println("Premere un tasto per continuare. . . ");
|
System.out.println("Premere un tasto per continuare. . . ");
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void modifica(boolean isVolumeBeingAdjusted, Multimediale daModificare) {
|
||||||
|
String scelta;
|
||||||
|
boolean error;
|
||||||
|
|
||||||
|
do {
|
||||||
|
error = false;
|
||||||
|
System.out.print("[A]umentare, [D]iminuire o [N]on modificare "
|
||||||
|
+ (isVolumeBeingAdjusted ? "il volume" : "la luminosità") + "? ");
|
||||||
|
scelta = sc.nextLine().trim().toLowerCase();
|
||||||
|
|
||||||
|
switch (scelta) {
|
||||||
|
case "a":
|
||||||
|
System.out.println("Aumentare");
|
||||||
|
aumentare(isVolumeBeingAdjusted, daModificare);
|
||||||
|
break;
|
||||||
|
case "d":
|
||||||
|
System.out.println("Diminuire");
|
||||||
|
diminuire(isVolumeBeingAdjusted, daModificare);
|
||||||
|
break;
|
||||||
|
case "n":
|
||||||
|
System.out.println("L'elemento non verrà modificato.");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println(ERRORE_DEFAULT);
|
||||||
|
error = true;
|
||||||
|
pausa();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (error);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void aumentare(boolean isVolumeBeingAdjusted, Multimediale daModificare) {
|
||||||
|
for (int i = quantita(); i > 0; i--) {
|
||||||
|
if (isVolumeBeingAdjusted) {
|
||||||
|
((Ascoltabile) daModificare).louder();
|
||||||
|
} else {
|
||||||
|
((Visualizzabile) daModificare).brighter();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void diminuire(boolean isVolumeBeingAdjusted, Multimediale daModificare) {
|
||||||
|
for (int i = quantita(); i > 0; i--) {
|
||||||
|
if (isVolumeBeingAdjusted) {
|
||||||
|
((Ascoltabile) daModificare).weaker();
|
||||||
|
} else {
|
||||||
|
((Visualizzabile) daModificare).darker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static int quantita() {
|
||||||
|
int quantita;
|
||||||
|
boolean error;
|
||||||
|
|
||||||
|
do {
|
||||||
|
error = false;
|
||||||
|
System.out.print("Di quanto? ");
|
||||||
|
quantita = sc.nextInt();
|
||||||
|
sc.nextLine();
|
||||||
|
|
||||||
|
if (quantita <= 0) {
|
||||||
|
System.out.println("Errore: non sono accettati valori negativi.");
|
||||||
|
error = true;
|
||||||
|
pausa();
|
||||||
|
}
|
||||||
|
} while (error);
|
||||||
|
|
||||||
|
return quantita;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user