Hej,
Följande kod ger felmeddelandet "Cannot find symbol" på raden "return ökadInt;".
Metoden skall ta in en sekund och öka den med tre, och sedan skicka tillbaka en integer som är ökad med tre, sett från det ursprungliga värdet.
Problemet är att datorn inte hittar integern som är adderad med tre.
Hur får jag ut integern ökadInt ifrån följande metod?
Testat:
Returnera efter tidtagare.cancel(), går ej. (Kan ej returnera från void)
Lägga int ökadInt = insändint före schedule av timer, går ej. (Då krävs att ökadInt deklarerar final, det går ju ej, så klart).
Kod:
package test;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class timerMetoder {
public static int adderaIntegerTimer(final int insändint) {
final Timer tidtagare = new Timer();
tidtagare.scheduleAtFixedRate(new TimerTask() {
int ökadInt = insändint;
public void run() {
ökadInt++;
if (ökadInt - insändint == 3) {
tidtagare.cancel();
}
}
}, new Date(), 1000);
return ökadInt;
}
}
Tack,
Sopparn