PDA

View Full Version : [Java] "cannot be resolved"... eh?


AngeL)
22-07-2007, 14:27
sto scrivendo un programmino sul calcolo delle probabilità, ma compilandolo mi dice "ballToPick cannot be resolved".
questo è il pezzo di codice incriminato:

public int pickBall() {
do {
int ballToPick = (int)(Math.random() * balls.length + 1);
} while (balls[ballToPick].hasBeenPicked());
return balls[ballToPick].getValue();
}


non so se ce n'è bisogno, comunque includo anche il resto della classe e la classe Ball:

public class Box {
private Ball[] balls;
Box(Ball[] balls) {
this.balls = balls;
}
// pickBall
}
-----
public class Ball {
private int value;
private boolean picked = false;

Ball(int value) {
this.value = value;
}

public int getValue() {
return value;
}

public boolean hasBeenPicked() {
return picked;
}
}

dove ho sbagliato? :help:

jappilas
22-07-2007, 14:53
perchè la variabile ballToPick è definita all' interno del ciclo do ... while, quindi il suo scope si limita al ciclo stesso e non esiste nel resto della funzione

AngeL)
22-07-2007, 14:55
perchè la variabile non esiste al di fuori del loop do...while nel cui scope la definisci

giusto :doh: grazie mille :D

jappilas
22-07-2007, 15:08
giusto :doh: grazie mille :Ddi nulla - per curiosità , che ide/editor usi?
per programmare in Java mi sentirei di consigliare caldamente Eclipse, perchè errori di questo tipo, vengono evidenziati direttamente nell' editor con la possibilità di accedere a un menu contestuale di possibili azioni correttive con un click sulla segnalazione stessa - sapessi quanto tempo questo ha fatto risparmiare al sottoscritto, notoriamente distratto...

AngeL)
22-07-2007, 15:25
di nulla - per curiosità , che ide/editor usi?
per programmare in Java mi sentirei di consigliare caldamente Eclipse, perchè errori di questo tipo, vengono evidenziati direttamente nell' editor - sapessi quanto tempo questo ha fatto risparmiare al sottoscritto, notoriamente distratto...

uso eclipse :D
infatti me lo aveva segnalato, ma io non capivo cosa significava "cannot be resolved"