Newsgroup: it.comp.java
Titolo: perchè va in loop??

ciao a tutti,ho creato questa classe,ma quando eseguo la stampa mi va in
loop e non capisco il perchč,mi potete aiutare?
import java.util.LinkedList;
import java.util.ListIterator;
public class Polynomial
{
  public class Termine
   {
      private int coefficente;
      private int potenza;
      public Termine(int coef,int pot)
      {
         coefficente=coef;
         potenza=pot;
      }
      public int getCoeff()
      {
         return coefficente;
      }
      public int getPot()
      {
         return potenza;
      }
  }
   Termine term;
   LinkedList poly =new LinkedList();//Creo una lista
   ListIterator iterator = poly.listIterator(0);//Creo un puntatore per
scandire tutta la lista
   public void addTerm(int coefficente,int potenza)
   {
      term=new Termine(coefficente,potenza);
      poly.add("ciao");
      //poly.addLast();
   }
   public void print()
   {
      while (iterator.hasNext() )
      {
          System.out.println(iterator.hasNext());
      }
   }
   //TEST MAIN PER PROVARE I METODI
   public static void main (String args[])
   {
      Polynomial p=new Polynomial();
      p.addTerm(10,3);
      p.addTerm(4,2);
      p.addTerm(6,1);
      p.print();
   }
}

          System.out.println(iterator.hasNext());
                                      ^^^^^^^^^^^ů
sosituire con iterator.next()
hai bisogno di una pausa? ;-)
ciao
-- 
Seti@Home Java Applets
http://maruko.webhop.net/

 ha scritto nel messaggio
news:9f84svsr3pfak9kk2...@4ax.com...


ho risolto in quella parte di codice,ma se faccio questo metodo :
   public void print()
   {
      while (iterator.hasNext() )
      {
         Termine tmp;
         tmp =(Termine) iterator.next(); //ERRORE:VUOLE UN OBJECT E IO GLI
Faccio restituire un "TERMINE"
         System.out.print(tmp.getCoeff()+ " "+tmp.getPot() );
          //System.out.println(tmp);
         //System.out.println(poly.getLast() )    ;
         //System.out.println(iterator.hasNext());
         //  System.out.print(tmp.getCoeff() +"x^"+tmp.getPot()+" ");
      }
   }
mi da' i seguenti errori:
C:\j2sdk1.4.2_02\bin\javaw.exe -classpath
C:\j2sdk1.4.2_02\jre\lib\jce.jar;C:\j2sdk1.4.2_02\jre\lib\sunrsasign.jar;C:\
j2sdk1.4.2_02\jre\lib\jsse.jar;C:\j2sdk1.4.2_02\jre\lib\charsets.jar;C:\j2sd
k1.4.2_02\jre\lib\plugin.jar;C:\j2sdk1.4.2_02\jre\lib\rt.jar;C:\j2sdk1.4.2_0
2\jre\lib\ext\sunjce_provider.jar;C:\j2sdk1.4.2_02\jre\lib\ext\dnsns.jar;C:\
j2sdk1.4.2_02\jre\lib\ext\ldapsec.jar;C:\j2sdk1.4.2_02\jre\lib\ext\localedat
a.jar;C:\Es.17.7;C:\Es.17.7 Polynomial
java.util.ConcurrentModificationException
 at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:552)
 at java.util.LinkedList$ListItr.next(LinkedList.java:488)
 at Polynomial.print(Polynomial.java:57)
 at Polynomial.main(Polynomial.java:84)
Exception in thread "main" Process terminated with exit code 1
chiedo ancora aiuto in un momento di ubriachezza!!!

 Exception in thread "main" Process terminated with exit code 1
Strano... :/
Stai per caso usando piu' thread? In questo caso significa che qualche 
altro thread ha modificato la collezione su cui iterator sta iterando, e 
questa e' un'operazione proibita. Altrimenti, per quanto strano, 
dovrebbero essere i metodi getCoeff o getPot a cambiarla... in ogni 
caso, la LinkedList in questione e' stata modificata mentre tu ci 
iteravi sopra :P
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */