我实现了一个名为NumberPrinter
的类,它使用Timer
类重复打印出一个数字(从命令行参数中读取)。它将从interval
开始每隔startTime
秒打印一次此号码。
需要添加的功能是当用户输入' q'检测到,计时器和整个程序应该终止。我被困在这里因为我不知道如何检测用户输入。
以下是我目前的代码。
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class NumberPrinter extends TimerTask {
private double numberToPrint;
NumberPrinter(double numberToPrint) {
this.numberToPrint = numberToPrint;
}
public void run() {
System.out.println(numberToPrint);
}
public static void main(String[] args) {
// Arguments
double numberToPrint = Double.parseDouble(args[0]);
long startTime = Long.parseLong(args[1]);
long interval = Long.parseLong(args[2]);
// Timer
Timer timer = new Timer();
NumberPrinter number = new NumberPrinter(numberToPrint);
timer.schedule(number, startTime, interval);
// A scanner to keep track of the input from user
Scanner sc = new Scanner(System.in);
// Not sure about the following lines :(
if (sc.nextLine() == "q") {
System.out.println("asd");
timer.cancel();
sc.close();
}
}
}
任何人都可以帮我解决这个问题吗? :)