2014-09-09 2 views
0

Я пишу простую java-программу, чтобы задавать случайные математические вопросы. Я просто использую консоль, поэтому ничего фантастического.Создайте простую таймерную Java-викторину

Как я могу определить, сколько времени потребуется пользователю, чтобы ответить на вопрос, когда его сначала попросят, когда они вставляют ответ и возвращают его?

ответ

3

Позвоните System.currentTimeMillis(), чтобы получить время в миллисекундах до и после каждого вопроса.

+0

HTTP://stackoverflow.com/questions/13062345/measuring-time-differences-using-system-currenttimemillis – Aro

+0

@Aro Этот вопрос касается того, сколько времени требуется человеку, чтобы ответить на вопрос. Если вы предлагаете использовать 'System.nanoTime()' для этого, я думаю, что это будет серьезный перебор. –

+0

Мой код работает с System.nanoTime(), но когда я использую System.currentTimeMillis(), я продолжаю придумывать разницу в 0. Я не совсем уверен, почему ... и это, вероятно, выходит за рамки этого вопроса. – Aro

0

Используйте дату, чтобы сэкономить время, когда вопрос был отображен в первый раз.

import java.util.Date; 

Date startDate = new Date(); 

Затем после того, как ответ был представлен, вычесть дату от текущего времени

long totalMilliseconds = (new Date()).getTime() - startDate.getTime(); 
0

Просто сохраните дату, когда вопрос показан

Date start = new Date(); 

Сделайте то же самое, когда ответ получен, а затем вычислить разницу и разобрать его на несколько секунд или минут:

long diff = start.getTime() - end.getTime(); 
long diffSeconds = diff/1000 % 60; 
long diffMinutes = diff/(60 * 1000) % 60; 
Смежные вопросы