|
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Fondamenti di Informatica A - II° Modulo |
|
|
Aggiungere alla classe DoubleList un metodo public int somma() che stampi
e restituisca il numero degli elementi della lista.
class DListNode {
protected A item; protected
DListNode next; protected DListNode prev;
public DListNode(A o) { item = o; next = null; prev = null; }
public DListNode getPrev() { return prev; }
public void setPrev(DListNode prev) { this.prev = prev; }
public DListNode getNext() { return next; }
public void setNext(DListNode next) { this.next = next; }
public A getItem() { return item; }
public double value() { return Math.random() * item.getZ(); }
// random restituisce un valore nel campo 0-1
}
public class DoubleList {
protected int size;protected DListNode first, last;
public DoubleList() { size = 0; first = last = null; }
public void insert(Object o) {
DListNode node;
o. setZ (size);
node= new DListNode(o);
node.setNext(first); node.setPrev(null);
if (first!=null) first.setPrev(node);
first = node;
if(last==null) last = node; size++;
}
}
public class A {
private String x; private int[] y; private int z;
public void setZ (int i) {z
= i;}
public int getZ () {return z;}
public String toString() { return x + y + z;} }
}
Il metodo somma deve seplorare la lista e selezionare per ogni
elemento qunato prodotto da value ().
public int somma() {
DListNode temp = first;
double somma = 0;while (temp.getNext() != null) {
somma += temp.value();
temp = temp.getNext();
}System.out.println("Elementi nella lista: " + size);
System.out.println("Somma dei valori: " + somma);
return size;
}
Si noti la necessità di muoversi sulla lista (lo statement che assegna con getNext).