Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30

    Problema Ricerca Binaria

    Salve a tutti,
    ho problemi su un esercizio che le seguenti richieste: definire tre classi Studente, Università e tester.
    I dati dello studente sono: matricola(codice a 6 cifre), cognome e nome, data di nascita, altezza e genere. Sono stati forniti anche dati di collaudo.
    Le richieste sono:
    visualizzazione dell'array in forma tabellare;
    visualizzazione dello studente più giovane;
    ordinamento dell'array degli studenti in base all'altezza in maniera crescente(ho utilizzato il SelectionSort);
    calcolo dell'altezza media distinta per genere;
    Tutte queste richieste sono state rispettate e il programma esegue perfettamente quanto richiesto.
    Il problema è che io vorrei inserire una nuova richiesta cioè effettuare una ricerca binaria per ricercare una data altezza.
    Vi posto il codice delle tre classi e spero che possiate aiutarmi a risolvere questo problema.


    codice:
    public class Studente {
        
                public String matricola;
                private String nome;
                private GregorianCalendar data;
                public int altezza;
                private char genere;
                /**
                 * Costruttore
                 * @param matr matricola
                 * @param nom cognome e nome
                 * @param giorno giorno di nascita
                 * @param mese mese di nascita
                 * @param anno anno di nascita
                 * @param alt altezza
                 * @param gen genere(M o F)
                 */
                public Studente(String matr, String nom,int giorno, int mese, int anno, int alt, char gen)
                {
                        matricola=matr;
                        nome=nom;
                        data=new GregorianCalendar(anno, mese-1, giorno);
                        altezza=alt;
                        genere=gen;
                }
               
                /**
                 * Ottiene il numero di matricola
                 * @return matricola
                 */
                public String getMatricola()
                {
                        return matricola;
                }
               
                /**
                 * Ottiene il cognome e nome dello studente
                 * @return nome
                 */
                public String getNome()
                {
                        return nome;
                }
                  
                /**
                 * Ottiene la data di nascita
                 * @return data
                 */
                public GregorianCalendar getData()
                {
                        return data;
                }
               
                /**
                 * Ottiene la data di nascita dello studente in stringa
                 */
                public String getDataString()
                {
                        return String.format("%02d/%02d/%04d", data.get(GregorianCalendar.DATE), data.get(GregorianCalendar.MONTH)+1, data.get(GregorianCalendar.YEAR));
                }
               
                /**
                 * Ottiene l'altezza
                 * @return altezza
                 */
                public int getAltezza()
                {
                        return altezza;
                }
                /**
                 * Ottiene il sesso dello studente
                 * @return genere
                 */
                public char getGenere()
                {
                        return genere;
                }
               
                /**
                 * Visualizza i dati dello studente in stringa
                 */
                public String toString()
                {
                        return "Matricola n. "+matricola+", "+nome+", Nato il "+getDataString()+", altezza "+altezza+", "+genere;
                }
        
    
    
    }
    
    
    public class Università {
        
            
             Studente[] stud= new Studente[0];
           
            /**
             * Aggiunge un nuovo studente
             * @param matricola matricola
             * @param nom cognome e nome
             * @param giorno giorno di nascita
             * @param mese mese di nascita
             * @param anno anno di nascita
             * @param altezza altezza dello studente
             * @param genere genere(M o F)
             */
            public void addStudente(String matricola, String nom,int giorno, int mese, int anno, int altezza, char genere)
            {
                    Studente temp[]=new Studente[stud.length+1];
                    if (stud.length>0)
                            System.arraycopy(stud,0,temp,0,stud.length);
                    temp[temp.length-1]= new Studente(matricola, nom,giorno,mese,anno,altezza,genere);
                    stud=temp;
            }
            /**
             * Ottiene una stringa con una tabella contenente i dati degli studenti
             * @return str
             */
            public String getTable()
            {
                    String format ="%-9s|%-20s|%-11s|%-7s|%-6s";
                    String str;
                    str=String.format(format,"=========","====================","===========","=======","======")+"\n";
                    str+=String.format(format,"Matricola","Cognome e nome","DataNascita","Altezza","Genere")+"\n";
                    str+=String.format(format,"=========","====================","===========","=======","======")+"\n";
                    for (Studente e:stud)
                            str+=String.format(format,e.getMatricola(),e.getNome(),e.getDataString(),e.getAltezza(),e.getGenere())+"\n";
                    str+=String.format(format,"=========","====================","===========","=======","======")+"\n";
                    return str;
            }
           
            /**
             * Ottiene i dati dello studente più giovane
             * @return stringa
             */
            public String getYoungest()
            {
                   
                    Studente min;
                    min=stud[0];
                    for (int i=0;i<stud.length;i++)
                    {
                            if( stud[i].getData().after(min.getData()))
                                    min=stud[i];
                    }
                    return min.toString();
            }
           
            /**
             * Ordinamento per selezione in base all'altezza(crescente)
             */
    
    
            public void SelectionSort()
            {
                    Studente min;
                    int p=0;
                   
                    for(int i=0;i<stud.length;i++)
                    {
                            min=stud[i];
                            p=i;
                            for(int j=i+1;j<stud.length;j++)
                            {
                                    if(stud[j].getAltezza()<min.getAltezza())
                                    {
                                            min=stud[j];
                                            p=j;
                                    }
                                   
                            }
                    stud[p]=stud[i];
                    stud[i]=min;
                    }
            }
            
          public static int ricBinaria(int[] stud, int altezza)
          {
              int indice;
              int inizio;
              int fine;
              int centro;
              inizio = 0;
              fine = stud.length-1;
              indice = -1;
              
              while(indice == -1 && inizio <= fine)
              {
                  centro = (inizio + fine) / 2;
                  if(stud[centro] == altezza)
                      indice = centro;
                  else
                      if(altezza > stud[centro])
                          inizio = centro +1;
                      else
                          fine = centro - 1;
              }
              return indice;
          }
     //       public BinaryArray(int altezza)
     //       {
     //           stud = new Studente[altezza];
     //          for (int i = 0; i < altezza; i++)
            
     //       }
            /**
             * Ottiene l'altezza media distinta per genere
             * @param genere il sesso dello studente('M' o 'F'
             * @return altezza media
             */
            public double getAltezzaMedia(char genere)
            {
                    int conta=0;
                    for (int i=0;i<stud.length;i++)
                    {
                            if(stud[i].getGenere()==genere)
                            {
                                    conta+=stud[i].getAltezza();
                            }
                    }
                    return conta/stud.length;
            }
            
            
            
            /**
             * Menu dell'ufficio statistiche
             * @return stringa
             */
            public String getMenu()
            {
            return "===========================================================\n"+
                            "Ufficio statistiche università - Menu \n" +
                            "===========================================================\n"+
                            "1. Visualizzare gli array degli studenti in forma tabellare \n"+
                            "2. Visualizzare i dati dello studente più giovane \n"+
                            "3. Ordinamento dell'array degli studenti per altezza \n"+
                            "4. Calcolo dell'altezza media distinta per genere \n"+
                            "5. Termina programma\n"+
                            "===========================================================";
            }
    
    
    }
    
    
    public class Tester {
             
            public static void main(String[] args) {
                   
                    Università X= new Università();
                    /**
                     * Aggiunge dati di collaudo
                     */
                    X.addStudente("341208","Panucci Alda",13, 10,1991, 166, 'F');
                    X.addStudente("140662","Lanzarote Ugo",02, 05,1990, 184, 'M');
                    X.addStudente("218040","Ambrosi Carla",24,03,1992, 162, 'F');
                    X.addStudente("210412","Bello Piera",15, 12,1992, 166, 'F');
                   
                    Scanner sc= new Scanner(System.in);
                    int scelta;
                   
                    do
                    {
                            scelta=-1;
                            /**
                             * Stampa menu
                             */
                            System.out.println(X.getMenu());
                           
                            /**
                             * Richede la scelta all'utente
                             */
                    while ((scelta<0)|| (scelta>6))
                    {
                            System.out.print("Opzione numero: ");
                            scelta=sc.nextInt();
                    }
                   
                    switch (scelta)
                    {
                    case 1:
                            {
                                    System.out.println(X.getTable()+"\n\n");
                            };break;
                    case 2:
                            {
                                    System.out.println(X.getYoungest()+"\n\n");
                            };break;
                    case 3:
                            {
                                X.SelectionSort();
                                System.out.println(X.getTable()+"\n\n");
                            };break;
                    case 4:
                            {
                                    System.out.print("Genere Maschile ");
                                    System.out.println(X.getAltezzaMedia('M'));
                                    System.out.print("Genere Femminile ");
                                    System.out.println(X.getAltezzaMedia('F')+"\n\n");
                            };break;
                    case 5:
                    {
                        int position;
                        int cercato;
                        System.out.println("Inserire altezza da cercare");
                        cercato = sc.nextInt();
                        System.out.println();
                        int k;
                        position = X.ricBinaria(null, cercato); // qui non so che fare
                    
                        if(position == -1)
                            System.out.println("L'altezza " + cercato + " non è stata trovata.\n");
                        else
                            System.out.println("L'altezza " + cercato + " è stata trovata");
                        
                    }
                    
                    }
                   
                    } while (scelta!=6);
                   
                   
                    System.out.println("Programma terminato");
                    sc.close();
                   
                   
            }
     
    }

    Spero in un pronta risposta che possa aiutarmi.
    Ultima modifica di LeleFT; 01-09-2014 a 17:12 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da Mauro94 Visualizza il messaggio
    Spero in un pronta risposta che possa aiutarmi.
    Se rendi leggibile il codice (usando il tag CODE) volentieri
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    Cosa c'è di non comprensibile?? Mi sembra abbastanza chiaro...vorrei solo sapere come implementare correttamente il penultimo metodo della classe università ricBinaria prima del metodo getMenu e di come richiamarlo nel classe di test.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    Aiutatemiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii!!!!!!! !!!!!!!!!!!!!!!!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    Come si uitlizza il tag code?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ti è stato chiesto di usare i tag CODE per rendere più comprensibile il codice, perché non lo fai?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    E come si utilizza? Non ho capito...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In modalità avanzata, tasto #
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    codice:
    public class Studente {
    codice:
    public String matricola;
    private String nome;
    private GregorianCalendar data;
    public int altezza;
    private char genere;
    /**
    * Costruttore
    * @param matr matricola
    * @param nom cognome e nome
    * @param giorno giorno di nascita
    * @param mese mese di nascita
    * @param anno anno di nascita
    * @param alt altezza
    * @param gen genere(M o F)
    */
    public Studente(String matr, String nom,int giorno, int mese, int anno, int alt, char gen)
    {
    matricola=matr;
    nome=nom;
    data=new GregorianCalendar(anno, mese-1, giorno);
    altezza=alt;
    genere=gen;
    }
    
    /**
    * Ottiene il numero di matricola
    * @return matricola
    */
    public String getMatricola()
    {
    return matricola;
    }
    
    /**
    * Ottiene il cognome e nome dello studente
    * @return nome
    */
    public String getNome()
    {
    return nome;
    }
    
    /**
    * Ottiene la data di nascita
    * @return data
    */
    public GregorianCalendar getData()
    {
    return data;
    }
    
    /**
    * Ottiene la data di nascita dello studente in stringa
    */
    public String getDataString()
    {
    return String.format("%02d/%02d/%04d", data.get(GregorianCalendar.DATE), data.get(GregorianCalendar.MONTH)+1, data.get(GregorianCalendar.YEAR));
    }
    
    /**
    * Ottiene l'altezza
    * @return altezza
    */
    public int getAltezza()
    {
    return altezza;
    }
    /**
    * Ottiene il sesso dello studente
    * @return genere
    */
    public char getGenere()
    {
    return genere;
    }
    
    /**
    * Visualizza i dati dello studente in stringa
    */
    public String toString()
    {
    return "Matricola n. "+matricola+", "+nome+", Nato il "+getDataString()+", altezza "+altezza+", "+genere;
    }
    
    
    
    }
    
    
    public class Università {
    
    
    Studente[] stud= new Studente[0];
    
    /**
    * Aggiunge un nuovo studente
    * @param matricola matricola
    * @param nom cognome e nome
    * @param giorno giorno di nascita
    * @param mese mese di nascita
    * @param anno anno di nascita
    * @param altezza altezza dello studente
    * @param genere genere(M o F)
    */
    public void addStudente(String matricola, String nom,int giorno, int mese, int anno, int altezza, char genere)
    {
    Studente temp[]=new Studente[stud.length+1];
    if (stud.length>0)
    System.arraycopy(stud,0,temp,0,stud.length);
    temp[temp.length-1]= new Studente(matricola, nom,giorno,mese,anno,altezza,genere);
    stud=temp;
    }
    /**
    * Ottiene una stringa con una tabella contenente i dati degli studenti
    * @return str
    */
    public String getTable()
    {
    String format ="%-9s|%-20s|%-11s|%-7s|%-6s";
    String str;
    str=String.format(format,"=========","============ ========","===========","=======","======")+"\n";
    str+=String.format(format,"Matricola","Cognome e nome","DataNascita","Altezza","Genere")+"\n";
    str+=String.format(format,"=========","=========== =========","===========","=======","======")+"\n";
    for (Studente e:stud)
    str+=String.format(format,e.getMatricola(),e.getNo me(),e.getDataString(),e.getAltezza(),e.getGenere( ))+"\n";
    str+=String.format(format,"=========","=========== =========","===========","=======","======")+"\n";
    return str;
    }
    
    /**
    * Ottiene i dati dello studente più giovane
    * @return stringa
    */
    public String getYoungest()
    {
    
    Studente min;
    min=stud[0];
    for (int i=0;i<stud.length;i++)
    {
    if( stud[i].getData().after(min.getData()))
    min=stud[i];
    }
    return min.toString();
    }
    
    /**
    * Ordinamento per selezione in base all'altezza(crescente)
    */
    
    
    public void SelectionSort()
    {
    Studente min;
    int p=0;
    
    for(int i=0;i<stud.length;i++)
    {
    min=stud[i];
    p=i;
    for(int j=i+1;j<stud.length;j++)
    {
    if(stud[j].getAltezza()<min.getAltezza())
    {
    min=stud[j];
    p=j;
    }
    
    }
    stud[p]=stud[i];
    stud[i]=min;
    }
    }
    
    public static int ricBinaria(int[] stud, int altezza)
    {
    int indice;
    int inizio;
    int fine;
    int centro;
    inizio = 0;
    fine = stud.length-1;
    indice = -1;
    
    while(indice == -1 && inizio <= fine)
    {
    centro = (inizio + fine) / 2;
    if(stud[centro] == altezza)
    indice = centro;
    else
    if(altezza > stud[centro])
    inizio = centro +1;
    else
    fine = centro - 1;
    }
    return indice;
    }
    // public BinaryArray(int altezza)
    // {
    // stud = new Studente[altezza];
    // for (int i = 0; i < altezza; i++)
    
    // }
    /**
    * Ottiene l'altezza media distinta per genere
    * @param genere il sesso dello studente('M' o 'F'
    * @return altezza media
    */
    public double getAltezzaMedia(char genere)
    {
    int conta=0;
    for (int i=0;i<stud.length;i++)
    {
    if(stud[i].getGenere()==genere)
    {
    conta+=stud[i].getAltezza();
    }
    }
    return conta/stud.length;
    }
    
    
    
    /**
    * Menu dell'ufficio statistiche
    * @return stringa
    */
    public String getMenu()
    {
    return "================================================= ==========\n"+
    "Ufficio statistiche università - Menu \n" +
    "================================================= ==========\n"+
    "1. Visualizzare gli array degli studenti in forma tabellare \n"+
    "2. Visualizzare i dati dello studente più giovane \n"+
    "3. Ordinamento dell'array degli studenti per altezza \n"+
    "4. Calcolo dell'altezza media distinta per genere \n"+
    "5. Termina programma\n"+
    "================================================= ==========";
    }
    
    
    }
    
    
    public class Tester {
    
    public static void main(String[] args) {
    
    Università X= new Università();
    /**
    * Aggiunge dati di collaudo
    */
    X.addStudente("341208","Panucci Alda",13, 10,1991, 166, 'F');
    X.addStudente("140662","Lanzarote Ugo",02, 05,1990, 184, 'M');
    X.addStudente("218040","Ambrosi Carla",24,03,1992, 162, 'F');
    X.addStudente("210412","Bello Piera",15, 12,1992, 166, 'F');
    
    Scanner sc= new Scanner(System.in);
    int scelta;
    
    do
    {
    scelta=-1;
    /**
    * Stampa menu
    */
    System.out.println(X.getMenu());
    
    /**
    * Richede la scelta all'utente
    */
    while ((scelta<0)|| (scelta>6))
    {
    System.out.print("Opzione numero: ");
    scelta=sc.nextInt();
    }
    
    switch (scelta)
    {
    case 1:
    {
    System.out.println(X.getTable()+"\n\n");
    };break;
    case 2:
    {
    System.out.println(X.getYoungest()+"\n\n");
    };break;
    case 3:
    {
    X.SelectionSort();
    System.out.println(X.getTable()+"\n\n");
    };break;
    case 4:
    {
    System.out.print("Genere Maschile ");
    System.out.println(X.getAltezzaMedia('M'));
    System.out.print("Genere Femminile ");
    System.out.println(X.getAltezzaMedia('F')+"\n\n");
    };break;
    case 5:
    {
    int position;
    int cercato;
    System.out.println("Inserire altezza da cercare");
    cercato = sc.nextInt();
    System.out.println();
    int k;
    position = X.ricBinaria(null, cercato); // qui non so che fare
    
    if(position == -1)
    System.out.println("L'altezza " + cercato + " non è stata trovata.\n");
    else
    System.out.println("L'altezza " + cercato + " è stata trovata");
    
    }
    
    }
    
    } while (scelta!=6);
    
    
    System.out.println("Programma terminato");
    sc.close();
    
    
    }
    
    }
    Ultima modifica di LeleFT; 01-09-2014 a 17:12 Motivo: Aggiunti i tag CODE

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    30
    codice:
    public class Studente {
    
    public String matricola;
    private String nome;
    private GregorianCalendar data;
    public int altezza;
    private char genere;
    /**
    * Costruttore
    * @param matr matricola
    * @param nom cognome e nome
    * @param giorno giorno di nascita
    * @param mese mese di nascita
    * @param anno anno di nascita
    * @param alt altezza
    * @param gen genere(M o F)
    */
    public Studente(String matr, String nom,int giorno, int mese, int anno, int alt, char gen)
    {
    matricola=matr;
    nome=nom;
    data=new GregorianCalendar(anno, mese-1, giorno);
    altezza=alt;
    genere=gen;
    }
    
    /**
    * Ottiene il numero di matricola
    * @return matricola
    */
    public String getMatricola()
    {
    return matricola;
    }
    
    /**
    * Ottiene il cognome e nome dello studente
    * @return nome
    */
    public String getNome()
    {
    return nome;
    }
    
    /**
    * Ottiene la data di nascita
    * @return data
    */
    public GregorianCalendar getData()
    {
    return data;
    }
    
    /**
    * Ottiene la data di nascita dello studente in stringa
    */
    public String getDataString()
    {
    return String.format("%02d/%02d/%04d", data.get(GregorianCalendar.DATE), data.get(GregorianCalendar.MONTH)+1, data.get(GregorianCalendar.YEAR));
    }
    
    /**
    * Ottiene l'altezza
    * @return altezza
    */
    public int getAltezza()
    {
    return altezza;
    }
    /**
    * Ottiene il sesso dello studente
    * @return genere
    */
    public char getGenere()
    {
    return genere;
    }
    
    /**
    * Visualizza i dati dello studente in stringa
    */
    public String toString()
    {
    return "Matricola n. "+matricola+", "+nome+", Nato il "+getDataString()+", altezza "+altezza+", "+genere;
    }
    
    
    
    }
    
    
    public class Università {
    
    
    Studente[] stud= new Studente[0];
    
    /**
    * Aggiunge un nuovo studente
    * @param matricola matricola
    * @param nom cognome e nome
    * @param giorno giorno di nascita
    * @param mese mese di nascita
    * @param anno anno di nascita
    * @param altezza altezza dello studente
    * @param genere genere(M o F)
    */
    public void addStudente(String matricola, String nom,int giorno, int mese, int anno, int altezza, char genere)
    {
    Studente temp[]=new Studente[stud.length+1];
    if (stud.length>0)
    System.arraycopy(stud,0,temp,0,stud.length);
    temp[temp.length-1]= new Studente(matricola, nom,giorno,mese,anno,altezza,genere);
    stud=temp;
    }
    /**
    * Ottiene una stringa con una tabella contenente i dati degli studenti
    * @return str
    */
    public String getTable()
    {
    String format ="%-9s|%-20s|%-11s|%-7s|%-6s";
    String str;
    str=String.format(format,"=========","============ ========","===========","=======","======")+"\n";
    str+=String.format(format,"Matricola","Cognome e nome","DataNascita","Altezza","Genere")+"\n";
    str+=String.format(format,"=========","=========== =========","===========","=======","======")+"\n";
    for (Studente e:stud)
    str+=String.format(format,e.getMatricola(),e.getNo me(),e.getDataString(),e.getAltezza(),e.getGenere( ))+"\n";
    str+=String.format(format,"=========","=========== =========","===========","=======","======")+"\n";
    return str;
    }
    
    /**
    * Ottiene i dati dello studente più giovane
    * @return stringa
    */
    public String getYoungest()
    {
    
    Studente min;
    min=stud[0];
    for (int i=0;i<stud.length;i++)
    {
    if( stud[i].getData().after(min.getData()))
    min=stud[i];
    }
    return min.toString();
    }
    
    /**
    * Ordinamento per selezione in base all'altezza(crescente)
    */
    
    
    public void SelectionSort()
    {
    Studente min;
    int p=0;
    
    for(int i=0;i<stud.length;i++)
    {
    min=stud[i];
    p=i;
    for(int j=i+1;j<stud.length;j++)
    {
    if(stud[j].getAltezza()<min.getAltezza())
    {
    min=stud[j];
    p=j;
    }
    
    }
    stud[p]=stud[i];
    stud[i]=min;
    }
    }
    
    public static int ricBinaria(int[] stud, int altezza)
    {
    int indice;
    int inizio;
    int fine;
    int centro;
    inizio = 0;
    fine = stud.length-1;
    indice = -1;
    
    while(indice == -1 && inizio <= fine)
    {
    centro = (inizio + fine) / 2;
    if(stud[centro] == altezza)
    indice = centro;
    else
    if(altezza > stud[centro])
    inizio = centro +1;
    else
    fine = centro - 1;
    }
    return indice;
    }
    // public BinaryArray(int altezza)
    // {
    // stud = new Studente[altezza];
    // for (int i = 0; i < altezza; i++)
    
    // }
    /**
    * Ottiene l'altezza media distinta per genere
    * @param genere il sesso dello studente('M' o 'F'
    * @return altezza media
    */
    public double getAltezzaMedia(char genere)
    {
    int conta=0;
    for (int i=0;i<stud.length;i++)
    {
    if(stud[i].getGenere()==genere)
    {
    conta+=stud[i].getAltezza();
    }
    }
    return conta/stud.length;
    }
    
    
    
    /**
    * Menu dell'ufficio statistiche
    * @return stringa
    */
    public String getMenu()
    {
    return "================================================= ==========\n"+
    "Ufficio statistiche università - Menu \n" +
    "================================================= ==========\n"+
    "1. Visualizzare gli array degli studenti in forma tabellare \n"+
    "2. Visualizzare i dati dello studente più giovane \n"+
    "3. Ordinamento dell'array degli studenti per altezza \n"+
    "4. Calcolo dell'altezza media distinta per genere \n"+
    "5. Termina programma\n"+
    "================================================= ==========";
    }
    
    
    }
    
    
    public class Tester {
    
    public static void main(String[] args) {
    
    Università X= new Università();
    /**
    * Aggiunge dati di collaudo
    */
    X.addStudente("341208","Panucci Alda",13, 10,1991, 166, 'F');
    X.addStudente("140662","Lanzarote Ugo",02, 05,1990, 184, 'M');
    X.addStudente("218040","Ambrosi Carla",24,03,1992, 162, 'F');
    X.addStudente("210412","Bello Piera",15, 12,1992, 166, 'F');
    
    Scanner sc= new Scanner(System.in);
    int scelta;
    
    do
    {
    scelta=-1;
    /**
    * Stampa menu
    */
    System.out.println(X.getMenu());
    
    /**
    * Richede la scelta all'utente
    */
    while ((scelta<0)|| (scelta>6))
    {
    System.out.print("Opzione numero: ");
    scelta=sc.nextInt();
    }
    
    switch (scelta)
    {
    case 1:
    {
    System.out.println(X.getTable()+"\n\n");
    };break;
    case 2:
    {
    System.out.println(X.getYoungest()+"\n\n");
    };break;
    case 3:
    {
    X.SelectionSort();
    System.out.println(X.getTable()+"\n\n");
    };break;
    case 4:
    {
    System.out.print("Genere Maschile ");
    System.out.println(X.getAltezzaMedia('M'));
    System.out.print("Genere Femminile ");
    System.out.println(X.getAltezzaMedia('F')+"\n\n");
    };break;
    case 5:
    {
    int position;
    int cercato;
    System.out.println("Inserire altezza da cercare");
    cercato = sc.nextInt();
    System.out.println();
    int k;
    position = X.ricBinaria(null, cercato); // qui non so che fare
    
    if(position == -1)
    System.out.println("L'altezza " + cercato + " non è stata trovata.\n");
    else
    System.out.println("L'altezza " + cercato + " è stata trovata");
    
    }
    
    }
    
    } while (scelta!=6);
    
    
    System.out.println("Programma terminato");
    sc.close();
    
    
    }
    
    }

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 © 2025 vBulletin Solutions, Inc. All rights reserved.