Salve a tutti.
Ho estremo bisogno di un aiuto per creare una sorta di array dinamioi in modo manuale.
Sostanzialmente sto parlando di un oggetto contenente una variabile intera ed un oggetto uguale a se stesso:
codice:
private int val;
private Oggetto o;
public Oggetto(){
val=Integer.parseInt(JOptionPane.showInputDialog("Inserire un numero"));
o=null;
}
Bene.
Il mio problema sta nell'inserire un nuovo oggetto che creo (sempre di quel tipo) in fondo ad una lista. Per lista intendo che all'interno dell'oggetto vuoto o del primo oggetto devo inserire un altro oggetto o contenente un altra variabile intera ed un ennesimo oggetto o null, all'interno del quale dovrei inserire un'altro oggetto dello stesso tipo ecc.. continuando se posso all'infinito.
Vi posto le due classi così penso di essere più chiaro per il concetto seguente:
codice:
public class Oggetto{
private int val;
private Oggetto o;
public Oggetto(){
val=Integer.parseInt(JOptionPane.showInputDialog("Inserire un numero"));
o=null;
}
public void setProssimo(Oggetto p){
o=p;
}
public int getVal(){
return val;
}
public Oggetto getO(){
return o;
}
}
codice:
public class Array{
private Oggetto a;
public Array(){
a=null;
}
public void aggiungiInTesta(Oggetto t){
if(a != null){
t.setProssimo(a);
}
a=t;
}
public void visualizza(){
Oggetto h=a;
boolean b;
do{
b=true;
System.out.println(h.getVal());
h=h.getO();
if(h==null){
b=false;
}
}
while(b==true);
}
public void aggiungiInCoda(Oggetto d){
?????????????
}
}
Fatto ciò, per inserire all'ultimo posto il nuovo oggetto avevo pensato ad un comando simile a questo che nella mia fantasia funziona:
codice:
a.while(a.getO()!=null){
getO()
}.setProssimo(d);
Riassunto in parole povere, mi dovrebbe continuare ad eseguire getO().getO().getO()..... fino a quando non trova un oggetto null ed in questo momento copiarmi in questo il contenuto di quello che ho creato.
E' un ragionamento estremamente contorto ai livelli del film INCEPTION a mio parere.
Se qualcuno riesce a venirne fuori lo ringrazierò a vita.
Grazie