Compito concluso
This commit is contained in:
@@ -18,6 +18,7 @@ public class LettoreMultimediale {
|
||||
* @param args the command line arguments
|
||||
*/
|
||||
static Scanner sc = new Scanner(System.in);
|
||||
static final String ERRORE_DEFAULT = "Opzione non valida.";
|
||||
|
||||
public static void main(String[] args) {
|
||||
int scelta = -1;
|
||||
@@ -37,24 +38,27 @@ public class LettoreMultimediale {
|
||||
switch (scelta) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
if(libreria[scelta - 1] instanceof Riproducibile){
|
||||
libreria[scelta - 1].play();
|
||||
case 1, 2, 3, 4, 5:
|
||||
if (libreria[scelta - 1] instanceof Riproducibile) {
|
||||
System.out.println(libreria[scelta - 1].play());
|
||||
} else {
|
||||
System.out.println(libreria[scelta - 1].show());
|
||||
}
|
||||
else{
|
||||
libreria[scelta - 1].show();
|
||||
if (libreria[scelta - 1] instanceof Visualizzabile) {
|
||||
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;
|
||||
default:
|
||||
System.out.println("Opzione non valida.");
|
||||
System.out.println(ERRORE_DEFAULT);
|
||||
pausa();
|
||||
}
|
||||
} catch (InputMismatchException _) {
|
||||
System.out.println("Opzione non valida.");
|
||||
System.out.println(ERRORE_DEFAULT);
|
||||
pausa();
|
||||
}
|
||||
|
||||
@@ -65,4 +69,75 @@ public class LettoreMultimediale {
|
||||
System.out.println("Premere un tasto per continuare. . . ");
|
||||
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