0

こんにちは、大学でグループ プロジェクトを行っています。私と私のグループ メンバーは、ウェブサイトを作成する必要があります。すでにそれを行っていますが、今年は Java プログラミング言語について学びます。また、私の講師は、Java、特に JSP (JavaServer Pages) を使用して、Web サイトを静的から動的にアップグレードするという別のタスクを与えてくれます。

私は、この新しいタスクのために、私たちのウェブサイトの統計レポートを作成する責任があります. これまでのところ、特にこのフォーラムから、インターネットから平均、合計、および中央値を計算する方法を見つけることができました。しかし、String ArrayList に基づいて管理者がユーザーからの質問に答えるのにかかる時間を計算する方法を見つけることができません。

それで、誰かがこれで私を助けることができますか?私はこの Java に本当に慣れていないので、助けていただければ幸いです。

そして、私の文法について申し訳ありません。英語は私の主な言語ではありません。前もって感謝します!

4

1 に答える 1

1

スレッドを使用して時間を維持する:

public class KeepingTime
{
    private volatile int timeTaken;
    private Thread timekeeper;

    public KeepingTime()
    {
        timekeeper = new Thread(new Runnable(){
            public void run()
            {
                try
                {
                    while(true)
                    {
                        Thread.sleep(1000);
                        timeTaken++;
                        if(Thread.interrupted())
                            return;
                    }
                }
                catch(InterruptedException e)
                {
                    return;
                }
            }    //end run
        }); //end thread
        timekeeper.start();
    }    //end constructor

    public void stop()
    {
        timekeeper.interrupt();
    }

    public int timeTaken()
    {
        return timeTaken;
    }
}

次に、次のように使用します。

for(String question : questions)
{
    KeepingTime timer = new KeepingTime();
    //ask the question
    //wait until it is answered
    timer.stop();
    int timeTaken = timer.timeTaken();
}

Thread.stop() は非推奨であるため、使用していないことに注意してください。多くのスレッドを実行している場合、これは矛盾する可能性があります。

于 2013-03-18T18:24:05.667 に答える