Ultimi argomenti attivi
Cerca
Problema Merge di Due LinkedList
2 partecipanti
DebuggingZone :: Informatica :: Programmazione :: Java
Pagina 1 di 1
Problema Merge di Due LinkedList
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???
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.
ElDorado- Numero di messaggi : 19
Data d'iscrizione : 30.09.08
Re: Problema Merge di Due LinkedList
spero tu abbia fatto il main..
LuxLuciS86- Admin
- Numero di messaggi : 169
Età : 37
Localizzazione : senza fissa dimora(nomade)
Data d'iscrizione : 23.09.08
Re: Problema Merge di Due LinkedList
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
ElDorado- Numero di messaggi : 19
Data d'iscrizione : 30.09.08
Re: Problema Merge di Due LinkedList
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 +
LuxLuciS86- Admin
- Numero di messaggi : 169
Età : 37
Localizzazione : senza fissa dimora(nomade)
Data d'iscrizione : 23.09.08
Re: Problema Merge di Due LinkedList
il main non e niente di chè basta richiamare provaEx3
//main
public static void main(String []args){
provaEx3();
}
//main
public static void main(String []args){
provaEx3();
}
ElDorado- Numero di messaggi : 19
Data d'iscrizione : 30.09.08
Re: Problema Merge di Due LinkedList
Il problema non'è perché non catturi un eccezione, ma perché sfori con gli iteratori.. ti conviene rivedere meglio la funzione...
ok!!! fammi sapere
- Codice:
LinkedList<Integer> mergeOrdinato(Iterator<Integer> a,Iterator<Integer> b)
ok!!! fammi sapere
LuxLuciS86- Admin
- Numero di messaggi : 169
Età : 37
Localizzazione : senza fissa dimora(nomade)
Data d'iscrizione : 23.09.08
Re: Problema Merge di Due LinkedList
ai ragione! infatti l'errore lanciato e quello che scemo...Mo lo riguardo vediamo dove sforoLuxLuciS86 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
ElDorado- Numero di messaggi : 19
Data d'iscrizione : 30.09.08
DebuggingZone :: Informatica :: Programmazione :: Java
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.
|
|
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