Ultimi argomenti
» mancato invio posta
Mer Apr 13, 2011 12:17 am Da Sasà

» Gallo Web Solutions.
Ven Ott 29, 2010 12:15 am Da Sasà

» Accendere un Computer automaticamente o a distanza
Mer Ott 20, 2010 11:09 pm Da Sasà

» Masterizzatore interno modello LG Slim SATA MULTI DVD 18x8 T20N/T40N
Ven Ott 08, 2010 9:32 am Da Sitzigorru

» P=NP sembra proprio di no, forse siamo alla soluzione.............
Mar Set 14, 2010 8:28 pm Da Sasà

» Come installare windows xp da boot con usb
Gio Giu 03, 2010 9:07 pm Da DaviduX

» CPU a 36GHz? Con Phenom II X6 si può!
Sab Mag 15, 2010 9:31 pm Da ElDorado

» Lucid Lynx: Ubuntu cambia pelle
Sab Mag 15, 2010 9:17 pm Da kevin

» iPhone 4G a pezzi: produrlo costa solo 175$
Sab Mag 15, 2010 9:06 pm Da kevin

Cerca
 
 

Risultati secondo:
 


Rechercher Ricerca avanzata

Navigazione
 Portale
 Indice
 Lista utenti
 Profilo
 FAQ
 Cerca
Sito Amico

salvatore gallo2.gif


alkem.gif

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

eyrene.jpg

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

GalloWebSolution.gif

----------------------------------- --Info:Per inserire il tuo sito nella lista "Sito Amico", richiedi ad un amministratore.
Flusso RSS




Problema Merge di Due LinkedList

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Problema Merge di Due LinkedList

Messaggio  ElDorado il Gio Ott 23, 2008 9:43 pm

Allora ragazzi ecco il problema:
Devo realizzare un metodo static LinkedList<Integer> mergeOrdinato(Iterator<Integer> a, Iterator<Integer> b)
che effettua il merge ordinato degli elementi dei due iteratori, ritornando il risultato in una lista collegata.

In particolare il merge di due liste ordinate (qui rappresentate dai corrispondenti iteratori, da assumere come già ordinati) restituisce una nuova lista ordinata contente tutti gli elementi appartenenti alle due liste di input.

Fin qua tutto ok.
Poi mi dice di:
2. Realizzare il metodo static void provaEx3() che crea due liste random ordinate e restituisce il merge
ordinato delle due. Il risultato così ottenuto dovrà essere stampata, insieme ai corrispondenti vettori di input.
E qui ecco il problema quando faccio stampare al metodo anche le liste di input mi da il seguente errore:
"Exception in thread "main" java.util.NoSuchElementException"
Se evito di stampare gli imput ma solo il risultato del merg tutto funge....??
Chi mi aiuta???
Codice:


//Metodo che fa il merge ordinato di due iterator passati come argomento
public static LinkedList<Integer> mergeOrdinato(Iterator<Integer> a,Iterator<Integer> b){
   LinkedList<Integer> list=new LinkedList<Integer>();
      Integer na=a.next();
      Integer nb=b.next();
      while(a.hasNext()&&b.hasNext()){
         if(na<nb){
            list.add(na);
            na=a.next();
            }
         if(na>nb){
           list.add(nb);
           nb=b.next();
           }
      }
      while(a.hasNext()){
         list.add(na);
         na=a.next();
      }
      list.add(na);
      
      while(b.hasNext()){
         list.add(nb);
         nb=b.next();
      }
      list.add(nb);
      
      return list;
      
   
      
   }
      
 public static void provaEx3(){
    Iterator<Integer> a=creaRandomCrescente(5).iterator();
    System.out.print("Prima Lista");
    stampa(a);
    Iterator<Integer> b=creaRandomCrescente(10).iterator();
    System.out.print("Seconda Lista");
    stampa(b);
    

 
    System.out.print("ora faccio il Merg delle liste");
    Iterator<Integer> m=mergeOrdinato(a,b).iterator();
    stampa(m);
 }

//Metodo che crea una LinkedList Random ordinata crescentemente
public static LinkedList<Integer> creaRandomCrescente(int n){
      LinkedList<Integer> list=new LinkedList<Integer>();
      Random x=new Random();

      Integer sup=x.nextInt(100);
      while(n!=0){
         list.add(sup);
         sup+=x.nextInt(100);
         n--;
         
      }
      return list;
  }

//effettua la stampa
   public static void stampa (Iterator<Integer> i){
      while(i.hasNext()){
         System.out.print("<"+i.next()+">");
         if(i.hasNext()) System.out.print(", ");
         else System.out.println();
         
       }
   }



Ultima modifica di ElDorado il Sab Ott 25, 2008 8:35 pm, modificato 1 volta
avatar
ElDorado

Numero di messaggi : 19
Data d'iscrizione : 30.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  LuxLuciS86 il Sab Ott 25, 2008 1:40 pm

spero tu abbia fatto il main..
avatar
LuxLuciS86
Admin
Admin

Numero di messaggi : 169
Età : 31
Localizzazione : senza fissa dimora(nomade)
Data d'iscrizione : 23.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  ElDorado il Sab Ott 25, 2008 1:52 pm

LuxLuciS86 ha scritto:spero tu abbia fatto il main..

spero tu abbia fatto il main..

Si si Tranquillo
Infatti lo provato e il problema ripeto sorge quando oltre alla lista risultato del merg stampo anche le due linkedlist di input
avatar
ElDorado

Numero di messaggi : 19
Data d'iscrizione : 30.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  LuxLuciS86 il Sab Ott 25, 2008 4:12 pm

ElDorado ha scritto:
LuxLuciS86 ha scritto:spero tu abbia fatto il main..

spero tu abbia fatto il main..

Si si Tranquillo
Infatti lo provato e il problema ripeto sorge quando oltre alla lista risultato del merg stampo anche le due linkedlist di input

posta il tuo main...così da capirne di +
avatar
LuxLuciS86
Admin
Admin

Numero di messaggi : 169
Età : 31
Localizzazione : senza fissa dimora(nomade)
Data d'iscrizione : 23.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  ElDorado il Sab Ott 25, 2008 8:33 pm

il main non e niente di chè basta richiamare provaEx3

//main
public static void main(String []args){
provaEx3();



}
avatar
ElDorado

Numero di messaggi : 19
Data d'iscrizione : 30.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  LuxLuciS86 il Lun Ott 27, 2008 1:01 pm

Il problema non'è perché non catturi un eccezione, ma perché sfori con gli iteratori.. ti conviene rivedere meglio la funzione...
Codice:
LinkedList<Integer> mergeOrdinato(Iterator<Integer> a,Iterator<Integer> b)

ok!!! fammi sapere
avatar
LuxLuciS86
Admin
Admin

Numero di messaggi : 169
Età : 31
Localizzazione : senza fissa dimora(nomade)
Data d'iscrizione : 23.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  ElDorado il Lun Ott 27, 2008 5:05 pm

LuxLuciS86 ha scritto:Il problema non'è perché non catturi un eccezione, ma perché sfori con gli iteratori.. ti conviene rivedere meglio la funzione...
Codice:
LinkedList<Integer> mergeOrdinato(Iterator<Integer> a,Iterator<Integer> b)

ok!!! fammi sapere
ai ragione! infatti l'errore lanciato e quello che scemo...Mo lo riguardo vediamo dove sforo
avatar
ElDorado

Numero di messaggi : 19
Data d'iscrizione : 30.09.08

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Problema Merge di Due LinkedList

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum