Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Esercizio d'esame

  1. #1

    Esercizio d'esame

    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(){

    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Per prima cosa, ogni discussione deve vertire su di un argomento alla volta... Sarà anche UN SOLO esercizio d'esame, ma gli argomenti trattati sono tanti.

    Seconda cosa, il codice va postato all'interno dei tag CODE come specificato nel regolamento.

    Terza cosa, non basta dire "mi sono bloccata": bisogna specificare DOVE ci si è bloccati, PER QUALE MOTIVO ci si è bloccati e, se ci sono degli errori, riportarli.

    Così com'è posta la questione, sembra che tu stia cercando qualcuno che ti svolga l'esercizio e questa non è certo la finalità di questo forum.

    Mi vedo costretto a chiudere per i punti esposti sopra.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.