Codice da condividere
  • 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.169

    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.169
    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.169
    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
  •