gpt4 book ai didi

java - 如何让 reactionTime 在我的 while 循环中工作

转载 作者:行者123 更新时间:2023-12-02 16:18:30 25 4
gpt4 key购买 nike

我正在编写一个项目,该项目计算用户写下答案所花费的时间。所以我会显示一个问题,你会回答它。之后,我将显示您解决问题所需的时间。

但是当我将变量放入 while 循环时, react 时间不起作用。

代码如下:

long startTime = System.currentTimeMillis();
long endTime = System.currentTimeMillis();
long reactionTime = endTime - startTime;
//Q1
System.out.println("Q1");
while (true) {
System.out.println("What is 1+1: ");
int ans = scanner.nextInt();
if (ans == 2) {
System.out.println("Correct");
System.out.println(reactionTime + "ms");
break;
} else {
System.out.println("incorrect please try again");

}
}

最佳答案

问题是你的结束时间和开始时间基本上是相等的,因为你甚至在问题被问到之前就把它们都拿走了。

要解决这个问题,只要用户的回答正确,就只计算所花费的时间。

// take the start time once before the user gets to answer your question
long startTime = System.currentTimeMillis();

//Q1
System.out.println("Q1");
while (true) {
System.out.println("What is 1+1: ");
int ans = scanner.nextInt();
if (ans == 2) {
System.out.println("Correct");

// take the end time here, only if the answer of the user is correct
long endTime = System.currentTimeMillis();
long reactionTime = endTime - startTime;

System.out.println(reactionTime + "ms");
} else {
System.out.println("incorrect please try again");
}
}

关于java - 如何让 reactionTime 在我的 while 循环中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66120615/

25 4 0
文章推荐: uuid - 覆盖 DICOM 中的像素数据时应替换哪些 DICOM UID?
文章推荐: javascript - 无法分配给对象 'property' 的只读属性 '#'