Il sito di Yahoo Answers verrà chiuso il 4 maggio 2021 (ora della costa est degli USA) e dal 20 aprile 2021 (ora della costa est degli USA) sarà in modalità di sola lettura. Non verranno apportate modifiche ad altre proprietà o servizi di Yahoo o al tuo account Yahoo. Puoi trovare maggiori informazioni sulla chiusura di Yahoo Answers e su come scaricare i tuoi dati in questa pagina di aiuto.

Anonimo
Anonimo ha chiesto in Computer e InternetProgrammazione e Design · 10 anni fa

Classe Rubrica (Java Eclipse)?

Potete aiutarmi con questo esercizio?

Devo creare una classe Rubrica con le seguenti proprietà:

•Si consideri che la rubrica avrà un numero massimo di elementi definito dalla costante privata dim

ad esempio potremo porre

–private final int dim=100;

•La rubrica contiene una coppia di informazioni elementari: nominativo(nomerubrica[]) e numero(numerorubrica[]).

•Il metodo trovaNumero() consente di rintracciare all’interno della rubrica il numero corrispondente ad un nominativo.

•Si tenga conto che nell’inserimento di una nuova coppia di valori in rubrica occorre verificare che non sia stata superata la dimensione massima stabilita dal campo dim.

Relativo diagramma UML:

Rubrica

-Stringnomerubrica[]

-intnumerorubrica[]

-intposizione

+ Rubrica (Stringnominativo, intnumero)

+ inttrovaNumero(Stringnominativo)

+ booleaninserisci (Stringnominativo, intnumero)

+ intgetDimensione()

+ StringtoString()

Grazie!!

1 risposta

Classificazione
  • 10 anni fa
    Risposta preferita

    prima di risponderti devo chiederti delle cose:

    -non capisco il senso del costruttore "Rubrica (Stringnominativo, intnumero)",non avrebbe più senso che il costruttore creasse una "rubrica" inizialmente vuota,per poi inserire i vari contatti con il metodo inserisci?

    -int posizione suppongo sia la variabile intera che tenga conto della dimensione della rubrica (cioè del numero di contatti presenti nella rubrica)...vero?

    -l'inserimento di un contatto in rubrica deve comportare che i contatti al suo interno siano ordinati,oppure possono essere inseriti sempre in coda?

    rispondi alle mie domande e poi vedrò di darti una risposta :) ...ciao!

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Eccoti comunque il codice da me fatto per il tuo esercizio,spero possa andare bene:

    class Rubrica{

    private final int dim=100;

    private String [] nomeRubrica;

    private int [] numeroRubrica;

    private int posizione;

    public Rubrica(){

    nomeRubrica=new String [dim];

    numeroRubrica=new int [dim];

    posizione=0;

    }

    public int trovaNumero (String nominativo){

    int i=0;

    while(i<posizione){

    if(nominativo.equals (nomeRubrica[i]) ){

    return numeroRubrica [i];

    }

    }

    return -1;

    }

    public boolean inserisci (String nominativo , int numero){

    if(posizione<100){

    nomeRubrica [posizione] = nominativo;

    numeroRubrica [posizione] = numero;

    posizione++;

    return true;

    }else{

    return false;

    }

    }

    public int getDimensione (){

    return posizione;

    }

    public String toString (){

    StringBuilder sb=new StringBuilder ();

    sb.append("La rubrica contiene "+ posizione + " numeri:\n");

    for(int i=0;i<posizione;i++){

    sb.append(nomeRubrica [i]+" "+numeroRubrica [i]+"\n");

    }

    return sb.toString ();

    }

    //METODO MAIN PER TESTARE IL CODICE

    public static void main (String [] args){

    Rubrica r=new Rubrica ();

    System.out.println ("Dimensione iniziale: "+r.getDimensione ());

    r.inserisci ("claudio" , 1665588);

    r.inserisci ("Zipangulu" , 33333);

    System.out.println ("Dimensione dopo inserimenti: " + r.getDimensione ());

    System.out.print ( "Cercando claudio ottengo: " );

    int n=r.trovaNumero ( "claudio" );

    if(n == -1){

    System.out.println ("non esiste alcun contatto in rubrica con questo nominativo :(");

    }else{

    System.out.println (n);

    }

    System.out.println ("Ora invoco il toString:\n\n\n" + r.toString ());

    }

    }

    Spero di essere stato il più esauriente possibile...se non hai capito qualcosa non esitare a contattarmi via mail che te la spiego senza alcun problema...ciao!

    Ps. scegli tu la miglior risposta (non è detto sia la mia) , non ar cadere in votazione la domanda ;-)

    Fonte/i: ingegneria
Altre domande? Fai una domanda e ottieni le risposte che cerchi.