Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Sevenis Visualizza il messaggio
    direi la seconda opzione e quindi di mantenere tutte le informazioni di ogni voto di ogni giudice in modo tale da avere poi uno "storico" completo.
    Avendo una classe Giudice i cui oggetti rappresentano i giudici, in Progetto si potrebbe tenere delle "mappe" del tipo:

    private Map<Giudice,Punteggio> votiTecnica;
    // ecc....

    Pertanto, concettualmente, ogni progetto ha N punteggi per la tecnica, ciascuno associato ad un giudice. E così per le altre votazioni.


    P.S. Se la mappa concreta utilizzata è HashMap, Giudice come "chiave" richiede la corretta implementazione di equals/hashCode.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    110
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Avendo una classe Giudice i cui oggetti rappresentano i giudici, in Progetto si potrebbe tenere delle "mappe" del tipo:

    private Map<Giudice,Punteggio> votiTecnica;
    // ecc....

    Pertanto, concettualmente, ogni progetto ha N punteggi per la tecnica, ciascuno associato ad un giudice. E così per le altre votazioni.


    P.S. Se la mappa concreta utilizzata è HashMap, Giudice come "chiave" richiede la corretta implementazione di equals/hashCode.
    Non so proprio utilizzare queste mappe... credo sia una cosa più avanzata rispetto a quel che sto facendo quindi proviamo a ritornare sul caso base.

    L'esercizio mi chiede:

    Si consideri la classe ProgettoScienzaPunteggio per giudicare un progetto scientifico. Questa classe userà la classe Punteggio descritta in precedenza. Gli attributi della nuova classe sono:

    - nome del progetto;
    - stringa identificativa del progetto;
    - nome persona;
    - un punteggio per abilità creativa (max 30)
    - un punteggio per valore scientifico (max 30)
    - un punteggio per completezza (max 30)
    - un punteggio per chiarezza 15 (max 10)

    La classe avrà metodi:
    - ricevere numero di giudici
    - ricevere tutti punteggi per un particolare progetto
    - restituire il totale dei punteggi per un particolare progetto
    allora la classe Punteggio è questa:

    codice:
    import java.util.Scanner;
    
    
    public class Punteggio {
     
    	private String descrizione;
    	private int punteggiomax;
    	private int punteggio;
    	
    	public void setPunteggio(){
    		Scanner tastiera = new Scanner(System.in);
    		
    		System.out.println("Inserisci punteggio. Max "+ punteggiomax);
    		punteggio = tastiera.nextInt();
    		
    		if (punteggio > punteggiomax){
    			System.out.println("Errore! Il punteggio non può superare quello massimo!");
    			punteggio = 0;
    		}
    	}
    	
    	public void setPunteggioMax(int num){
    		punteggiomax = num;
    	}
    	
    	public int getPunteggio(){
    		return punteggio;
    	}
    	
    	public void stampaPunteggio(){
    		System.out.println("Il punteggio è: " + punteggio);
    	}
    }
    mentre la classe Progetto che ho pensato è questa:

    codice:
    import java.util.Scanner;
    
    
    public class ProgettoDemo {
    	
    	private static String nomeprogetto;
    	private static String idprogetto;
    	private static String nomestudente;
    	
    		
    	public void assegnaVoti(){
    		Scanner tastiera = new Scanner(System.in);
    		Punteggio creativita = new Punteggio();
    		creativita.setPunteggioMax(30);
    		creativita.setPunteggio();
    		
    		Punteggio valorescientifico = new Punteggio();
    		valorescientifico.setPunteggioMax(30);
    		valorescientifico.setPunteggio();
    		
    		Punteggio completezza = new Punteggio();
    		completezza.setPunteggioMax(15);
    		completezza.setPunteggio();
    		
    		Punteggio tecnica = new Punteggio();
    		tecnica.setPunteggioMax(15);
    		tecnica.setPunteggio();
    		
    		Punteggio chiarezza = new Punteggio();
    		chiarezza.setPunteggioMax(10);
    		chiarezza.setPunteggio();
    	}
    	
    	public void datiProgetto(){
    		Scanner tastiera = new Scanner(System.in);
    		System.out.println("Inserisci nome progetto:");
    		nomeprogetto = tastiera.next();
    		
    		System.out.println("Inserisci id progetto:");
    		idprogetto = tastiera.next();
    		
    		System.out.println("Inserisci nome studente:");
    		nomestudente = tastiera.next();
    		
    	}
    
    
    }
    Non so se invece del metodo datiProgetto() conviene fare una classe a parte per gestire anche l'aspetto dei giudici considerato che nomeprogetto, idprogetto e nomestudente dovrebbero non variare tra le varie istanze di voto.

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.