Tecnicamente corretto. A parte il fatto che non è molto bello chiedere l'input del numero con un JOptionPane messo lì dentro nel costruttore di questa classe che comunque modella solo un "nodo con valore" e non ha nulla a che fare (concettualmente) con un interfacciamento verso l'utente.Originariamente inviato da Cavaz94
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; } }
Ma tralasciamo pure questo dettaglio, se è un "esercizio" o poco più, si può chiudere un occhio.
Se ci ragioni, quel if è del tutto inutile.Originariamente inviato da Cavaz94
codice:public void aggiungiInTesta(Oggetto t){ if(a != null){ t.setProssimo(a); } a=t; }
Qui c'è altra roba inutile. Quel boolean non serve. Il ciclo basterebbe che sia: "finché h è diverso da null", allora: stampa valore e metti in h il prossimo.Originariamente inviato da Cavaz94
codice: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); }
Stop.
Con una logica di ciclo similare a visualizza (quanto ho detto io) si può fare il aggiungiInCoda.Originariamente inviato da Cavaz94
codice:public void aggiungiInCoda(Oggetto d){ ????????????? } }
Basta arrivare ad avere l'ultimo oggetto, dopodiché il nuovo 'd' diventa il prossimo 'o' nell'ultimo nodo che esisteva.
Tutto qui.


Rispondi quotando