Pessoal, estou com o seguinte problema:
to querendo contar o tempo (em segundos) que o usuário leva para digitar algo.
Pensei na seguinte forma:
Uso a classe Date para pegar a hora do sistema antes de mandar o usuário digitar algo, pego o hora do sistema depois do usuário digitar e o tempo gasto será a diferença dos dois tempos.
Exemplo:
import java.io.DataInputStream;
import java.util.Date;
public class Teste{
public static void main(String args[]) throws Exception
{
DataInputStream A = new DataInputStream(System.in);
Date date = new Date();
int s1, m1, s2, m2;
m1 = date.getMinutes(); //minutos antes
s1 = date.getSeconds(); //segundos antes
System.out.println("digite algo e tecle entre : ");
A.readLine();
date = new Date();
m2 = date.getMinutes(); //minutos depois
s2 = date.getSeconds(); //segundos depois
//soma dos minuto transformado em segundos
s1 = (m1 * 60) + s1;
s2 = (m2 * 60) + s2;
//mostrar a diferença entre os dois tempos
System.out.println("Tempo = " + (s2 - s1) + " segundos.");
}
}
Eu sei que o código está bugado, caso s2 seja menor que s1 o tempo será negativo, sem falar que o usuário pode alterar a hora do sistema para enganar o programa (que eh a minha maior preocupação), por isso não estou querendo usar essa forma.
Enfim, Qual a melhor forma de fazer isso?
A classe Date trabalha não só com horas, mas com datas também e, nesse caso, não preciso de datas. Existe outras classes mais específicas para trabalhar com tempo?
Grato.