Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [JAVA] Eccezioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46

    [JAVA] Eccezioni

    public class QueueAR implements Queue
    { private Object[] v;
    private int testa;
    private int coda;
    private int taglia;
    private static final int MAX = 10;
    public QueueAR () { this(MAX); }
    public QueueAR (int max) { v = new Object[max]; }
    public void enqueue (Object x) <--------
    { if (taglia == v.length)
    throw new QueueArrayOverflowException("Accoda in coda piena");
    v[coda++] = x;
    if (coda == v.length)
    coda = 0;
    taglia++;
    }
    public Object dequeue () throws QueueEmptyException <----
    { if (taglia == 0)
    throw new QueueEmptyException("Togli da coda vuota");
    Object tmp = v[testa];
    testa = (++testa)%v.length;
    taglia--;
    return tmp;
    }



    I due metodi enqueue() e dequeue() possono lanciare entrambi un eccezione...però enqueue lo fa nel corpo mentre dequeue lo dichiara anche prima....perchè?che differenza c'è??aspetto un aiuto =),grazie anticipate!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    Scusate,anke un'altra domanda!!

    Questo enunciato esattamente cosa fa?

    testa = (++testa)%v.length;

    perchè finchè v.length è 10 ci sono...ma se non è 10 l'indice testa viene un numero enorme...oppure sto confondendo io qualcosa?mah...

  3. #3
    Originariamente inviato da Realman
    Scusate,anke un'altra domanda!!

    Questo enunciato esattamente cosa fa?

    testa = (++testa)%v.length;

    perchè finchè v.length è 10 ci sono...ma se non è 10 l'indice testa viene un numero enorme...oppure sto confondendo io qualcosa?mah...
    % è l'operatore modulo (resto della divisione intera) e mantiene il risultato generato da (++testa) compreso tra 0 e v.length -1 . In altre parole se tu hai a%b il risultato è il resto della divisione intera tìdi a per b.Un esempio 10%2 = 0 perchè è pari 11%2 = 1 perchè è dispari 9%3 = 0 , 11% 3 = 2 e così via. Usa i tag CODE la prox volta
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    allora come fa a cambiare testa se parte da zero??cioè 0%n da sempre 0 no?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    ah no scusa! prima testa viene incrementato.....niente...grazie!

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    comunque non ci sono...per esempio: perchè 1%11 da 1?

  7. #7
    si 1%11=1
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    Chiedevo il perchè 1%11 = 1

  9. #9
    Scusa ma questa è matematica delle elementari...

    1:11=0 col resto di 1...cosa c'è di strano?
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  10. #10
    Originariamente inviato da Shagrat
    Scusa ma questa è matematica delle elementari...

    1:11=0 col resto di 1...cosa c'è di strano?
    Già! Se non vuoi scervellarti pensa che a%b con a < b da sempre a.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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