Ciao, ho creato una classe Lista e all'interno ho alcuni metodi che non mi funzionano, compilano ma non fanno ciò che dovrebbero..
class Lista {
private Node first;
public Lista() {
first = null;
}
public Lista(Node node) {
first = node;
}
... altri metodi...
// Restituisce true se esiste almeno un elemento che è uguale al prodotto
// dei suoi successori e i successori sono v, v-1,..,1(in ordine qualunque).
// False altrimenti
public boolean verificaSerie() {
if (first == null)
return false;
Node iterator = first;
boolean bool = false;
int prod = 1;
while (iterator != null) {
prod = iterator.getNext().getCargo() * prod;
}
if (iterator.getCargo() == prod)
bool = true;
else
return false;
return bool;
}
// Questo metodo deve restituire true se val appartiene alla lista e se tutti
// i successori di val sono multipli di val, false altrimenti
public boolean tuttiSuccessoriMultipliVal(int val) {
if (first == null || !this.member(val))
return true;
boolean bool = false;
Node iterator = first;
Node iterator1 = first;
while (iterator != null) {
if (iterator.getCargo() == val) {
while (iterator1 != null) {
if (iterator1.getNext().getCargo() % val == 0) {
bool = true;
}
else
bool = false;
}
}
else {
iterator = iterator.getNext();
iterator1 = iterator1.getNext();
}
}
return bool;
}
// Inserisce un nodo x dopo il nodo y se x = somma dei successivi nodi di y
public boolean inserisciSe(int x, int y) {
if (first == null)
return false;
boolean bool = false;
Node iterator = first;
while (iterator != null) {
if (iterator.getCargo() == y) {
int sum = 0;
while (iterator != null) {
sum = sum + iterator.getNext().getCargo();
}
if (sum == x) {
iterator.setNext(new Node(x, iterator.getNext()));
bool = true;
}
else
iterator = iterator.getNext();
}
else
iterator = iterator.getNext();
}
return bool;
}
// Deve restituire la lunghezza della sequenza più lunga negativa.
public int sequenzaNegativa() {
if (first == null)
return -1;
int cont = 0;
Node iterator = first;
while (iterator != null || iterator.getNext.getCargo() > 0) {
if (iterator.getCargo() < 0)
cont ++;
}
}
public String toString() {
Node iterator = first;
String tmp = "";
while (iterator != null) {
tmp = tmp + iterator.getCargo() + ", ";
iterator = iterator.getNext();
}
return tmp;
}
}
Qualcuno può aiutarmi?
Grazie mille!