スレッドを使用してタイミングメカニズムを作成しようとしています.2つの日付の時間差を取得し、その差を使用して現在の残り時間の割合を取得するのに問題があります。プロトタイプを作成しようとしているコンセプトは次のとおりです。
そして、ここに私の実装があります:
long startMilisecs = System.currentTimeMillis();
long currentMilisecs;
long endDateMilisecs = getEndDate().getTime();
int diffMillisecs = ((int)(endDateMilisecs - startMilisecs) / 1000) / 60;
int currPerc;
while (startMilisecs <= endDateMilisecs)
{
currentMilisecs = (int) System.currentTimeMillis();
currPerc = ((int)currentMilisecs * 100) / diffMillisecs;
System.out.println(" Current Percentage: " + currPerc);
}
このコードの問題は、パーセンテージが 0 から始まるのではなく、20% から 40% の間であるということです。
これのどこが悪いのか教えてもらえますか? この問題のために、スレッドのみを使用するように制限されています。