Ciao a tutti!
Questo è un esercizio d'esame che devo fare...
Purtroppo non sono molto pratica di java... e volevo chiedervi una mano...
Questo è il testo dell'esercizio.
Si implementi un’applicazione Java stand-alone che modelli un sistema di gestione turni con le seguenti specifiche:
1)l’utente deve poter inserire da tastiera il numero dei dipendenti n (n deve essere >3) e deve memorizzare nell’aray di stringhe NOMI_DIPENDENTI il nome di ogni dipendente;
2)creare una matrice di caratteri TURNI di n righe e 7 colonne, dove n rappresenta il numero dei dipendenti memorizzati. Ogni colonna rappresenta un giorno della settimana (0 lun, 1 mar, ecc). I valori assunti da una generica cella TURNI [i][j]possono essere:
- ‘m’: turno mattina
- ‘p’: turno pomeriggio
- ‘n’: turno notte
- ‘v’: non disponibile
3)Implementare dei metodi di Java che permettano di
- caricare la matrice da tastiera;
- caricare la matrice con dati casuali;
- stampare l’intero calendario dei turni;
- stampare i turni di tutta la settimana di un determinato dipendente di nome x;
- stampare i turni di un giorno determinato;
- dato un dipendente di nome x,calcolare il numero di giorni di indisponibilità di x;
- verificare, che,per ogni dipendente, non esistano due turni successivi del tipo notte-mattina;
- verificare che il numero di turni settimanali per ogni dipendente sia compreso tra 1 e 5 (estremi inclusi).
Per ora sono riuscita a svolgere la prima parte, ma per il resto mi sono bloccata.. .
ackage progetto;
import java.io.*;
public class Azienda {
public static int n;
public static char [][] TURNI;
public Azienda()throws Exception{
int scelta=0;
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Inserire il numero di dipendenti");
n=Integer.parseInt(input.readLine());
if(n>3){
String [] NOMI_DIPENDENTI=new String[n];
TURNI=new char [n][7];
for(int i=0;i<NOMI_DIPENDENTI.length;i++){
System.out.println("Inserire il nome del dipendente");
NOMI_DIPENDENTI[i]=input.readLine();
}
}else{
System.out.println("Inserisci almeno 4 dipendenti");
System.exit(0);
}
System.out.println("Cosa vuoi fare?");
System.out.println("1)caricare la matrice da tastiera");
System.out.println("2)caricare la matrice con dati casuali");
System.out.println("3)stampare l’intero calendario dei turni");
System.out.println("4)stampare i turni di tutta la settimana di un determinato dipendente di nome x");
System.out.println("5)stampare i turni di un giorno determinato");
System.out.println("6)dato un dipendente,calcolare il suo numero di giorni di indisponibilità");
System.out.println("7)verificare che per ogni dipendente non esistano due turni successivi");
System.out.println("8)verificare che il numero di turni settimanali per ogni dipendente sia compreso tra 1 e 5");
scelta=Integer.parseInt(input.readLine());
switch(scelta){
case 1:
caricaMatriceInput();
break;
case 2:
caricaMatriceRandom();
break;
case 3:
stampaTutto();
break;
case 4:
stampaTuttoX();
break;
case 5:
stampaTurniGiorno();
break;
case 6:
indispX();
break;
case 7:
verifica();
break;
case 8:
limiteTurni();
break;
}
}
public static void caricaMatriceInput()throws Exception{
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Inserire il turno: | ‘m’: turno mattina | ‘p’: turno pomeriggio | ‘n’: turno notte | ‘v’: non disponibile");
for(int i=0;i<n;i++){
for(int j=0;j<7;j++){
char nM=input.readLine().charAt(0);
TURNI[i][j]=nM;
}
}
System.out.println("Matrice caricata");
/* for(int i=0;i<n;i++){
System.out.println(TURNI[i]);
for(int j=0;j<7;j++){
System.out.print(TURNI[j]);
}
}
*/
}
public void caricaMatriceRandom(){
}
public void stampaTutto(){
for(int i=0;i<n;i++){
System.out.println(TURNI[i]);
for(int j=0;j<7;j++){
System.out.print(TURNI[j]);
}
}
}
public void stampaTuttoX(){
}
public void stampaTurniGiorno(){
}
public void indispX(){
}
public void verifica(){
}
public void limiteTurni(){
}

