import java.util.*; /* * Classe cliente che si interfaccia con l'utente per creare e stampare varie tipologie di Insegnamenti: Insegnamento universitario, Insegnamento con laboratorio e insegnamento seminariale. */ public class InterfacciaInsegnamento{ public static void main(String[] args){ //dichiaro una variabile insegnamento per stampare alla fine Insegnamento i = null; //inizializzo lo scanner Scanner sc = new Scanner(System.in); //variabile con cui controllo se eseguire di nuovo l'inserimento String choice = ""; //chiedo di inserire le info comuni nome, aula, n. iscritti //ciclo per continuare a chiedere input all'utente fino a che l'inserimento e' completato do { System.out.println("Inserire nell'ordine il nome, l'aula, ed il numero di iscritti"); String nome = sc.nextLine(); String aula = sc.nextLine(); //leggo in numero di iscritti usando il metodo //nextLine() perche' nextInt() non legge il carriage return int numeroIscritti = Integer.parseInt(sc.nextLine()); System.out.println("Scrivere U per insegnamento universitario e S per insegnamento seminariale "); choice = sc.nextLine(); System.out.println(choice); //controllo quale tipo di info richiedere if (choice.charAt(0)=='U'){ //chiede le info di interesse per insegnamento universitario System.out.println("specificare il dipartimento cui l'insegnamento afferisce ed il numero totale di CFU"); String dip = sc.nextLine(); int cfu = Integer.parseInt(sc.nextLine()); //decide se creare un insegnamento con laboratorio oppure no System.out.println("Si vuole creare un insegnamento con laboratorio ? [Y/N]"); choice = sc.nextLine(); if (choice.charAt(0)=='Y'){ System.out.println("Specificare il numero di CFU di laboratorio"); int cfuLab = Integer.parseInt(sc.nextLine()); //creo un oggetto di dipo InsegnamentoLab e lo associo alla variabile Insegnamento creata all'inizio. Ok perche InsegnamentoLab deriva da Insegnamento. i = new InsegnamentoLab(nome,aula,numeroIscritti,dip,cfu,cfuLab); } else { //creo un oggetto di dipo InsegnamentoUniv e lo associo alla variabile Insegnamento creata all'inizio. Ok perche InsegnamentoUniv deriva da Insegnamento. i = new InsegnamentoUniv(nome,aula,numeroIscritti,dip,cfu); } } else if (choice.charAt(0)=='S'){ //crea seminario System.out.println("Specificare la dat in cui si tiene il seminario"); String data = sc.nextLine(); //creo un oggetto di dipo InsegnamentoSem e lo associo alla variabile Insegnamento creata all'inizio. Ok perche InsegnamentoSem deriva da Insegnamento. i = new InsegnamentoSem(nome,aula,numeroIscritti,data); } else { //gestisce il caso in cui l'utente non inserisce U oppure S System.out.println("Scelta non corretta"); } if (i!=null){ System.out.println("L'insegnamento inserito e': "+i); } i = null; System.out.println("Vuoi inserire un nuovo insegnamento ?: "); choice = sc.nextLine(); } while(choice.charAt(0)=='Y'); System.out.println("Sessione di inserimento terminata"); } }