• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 4 di 4

Discussione: Codice da condividere

Cambio titolo
  1. #1
    violentissimo L'avatar di ABCcletta
    Registrato il
    10-02
    LocalitÓ
    In un buco di culo
    Messaggi
    7.167

    Codice da condividere

    Creo questo topic perchŔ ultimamente (fottutissimi esami) mi sono ritrovato a dover creare parecchio codice JAVA. Con la speranza che i miei sforzi possano essere d'aiuto a qualcuno pubblico qualcosa di quello che ho fatto fin'ora.

    Innanzitutto voglio precisare che quando avr˛ completato il progetto inserir˛ tutto il codice in un file zip scaricabile. Per adesso poster˛ qualcosa in modo che possiate esprimere i vostri pareri su quanto fatto.

    Mi scuso anticipatamente se il tutto manca di qualche commento, purtroppo con la fretta Ŕ stato difficile. Cercher˛ di commentare al momento se possibile su vostra richiesta.

    Vi esorto inoltre a pubblicare anche il vostro materiale, se volete...
    Ultima modifica di ABCcletta; 18-01-2004 alle 02:27:45

  2. #2
    violentissimo L'avatar di ABCcletta
    Registrato il
    10-02
    LocalitÓ
    In un buco di culo
    Messaggi
    7.167
    La prima cosa che voglio postare Ŕ un'implementazione della struttura dati astratta STACK.

    INTERFACCIA:
    Codice:
    package strutture_dati;
    
    /**
     * <p>Title: Stack</p>
     * <p>Description: Interfaccia Stack</p>
     */
    
    public interface Stack {
    // Restituisce il numero degli elementi nello stack
            public int size();
    
    // Restituisce true se lo stack Ŕ vuoto, false altrimenti
            public boolean isEmpty();
    
    // Restituisce l'elemento al top dello stack.
    // Se lo stack Ŕ vuoto  lancia l'eccezione StackEmptyException
            public Object top()  throws StackEmptyException;
    
    // Inserisce un elemento di tipo Object al top dello stack
            public void push (Object element);
    
    // Rimuove l'elemento al top dello stack. Restituisce l'elemento eliminato
    // Se lo stack Ŕ vuoto  lancia l'eccezione  StackEmptyException
            public Object pop() throws StackEmptyException;
    
    }
    ECCEZIONE:
    Codice:
    package strutture_dati;
    
    /**
     * <p>Title: StackEmptyException</p>
     * <p>Description: Eccezione</p>
     */
    
    public class StackEmptyException extends RuntimeException {
      public StackEmptyException(String err) {
        super(err);
        messaggio = err;
      }
      public void notifica () {
        System.out.println(messaggio);
      }
      private String messaggio;
    }
    IMPLEMENTAZIONE INTERFACCIA:
    Codice:
    package strutture_dati;
    
    /**
     * <p>Title: ArrayStack</p>
     * <p>Description: Implementazione interfaccia Stack</p>
     */
    
    public class ArrayStack implements Stack {
    
      public ArrayStack (){
        array = new Object[CAPACITY];
      }
    
      public int size() {
        return topStack;
      }
    
      public boolean isEmpty() {
        if (topStack == -1) return true;
          else return false;
      }
    
      public Object top () throws StackEmptyException {
        if (topStack == -1) throw new StackEmptyException("Lo stack Ŕ vuoto!");
        return array[topStack];
      }
    
      public void push (Object element) {
        topStack ++;
        if (topStack == CAPACITY) { // inizio procedura di espansione array
          int CAPACITY = CAPACITY + CAPACITY;
          array2 = new Object[CAPACITY];
          for (int i=0 ; i<CAPACITY ; i++) {
            array2[i] = array[i];
          }
          array = array2;
        } // fine procedura di espansione array
        array[topStack]=element;
      }
    
      public Object pop () throws StackEmptyException {
        if (topStack == -1) throw new StackEmptyException("Lo stack Ŕ vuoto!");
        topStack --;
        return array[topStack+1];
      }
    
    
      private Object[] array;
      private Object[] array2;
      public int CAPACITY = 1024;
      private int topStack=-1;
    }
    Ultima modifica di ABCcletta; 18-01-2004 alle 15:21:46

  3. #3
    Utente
    Registrato il
    12-02
    LocalitÓ
    Venezia
    Messaggi
    110
    Inviato da ABCcletta
    Codice:
    ...
      public void push (Object element) {
        topStack ++;
        if (topStack == CAPACITY) { // inizio procedura di espansione array
          int newCapacity = CAPACITY + CAPACITY;
          array2 = new Object[newCapacity];
          for (int i=0 ; i<CAPACITY ; i++) {
            array2[i] = array[i];
          }
          array = array2;
        } // fine procedura di espansione array
        array[topStack]=element;
      }
    ...
    Sbaglio o dovresti aggiornare anche il valore di CAPACITY?
    man is your friend

  4. #4
    violentissimo L'avatar di ABCcletta
    Registrato il
    10-02
    LocalitÓ
    In un buco di culo
    Messaggi
    7.167
    Inviato da 3y34|v|31337
    Sbaglio o dovresti aggiornare anche il valore di CAPACITY?
    si su Jbuilder ho il codice riveduto e corretto. provvedo subito.

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •