タイマJavaコードが動作しないタイマコードが機能しない
public interface IncDec
{
void increment();
void decrement();
}
public class MyIncDec implements IncDec
{
private int x;
public MyIncDec(int x) {
this.x = x;
}
public void increment() {
this.x++;
}
public void decrement() {
this.x--;
}
}
パート1:( ミリ秒)かかる方法をインクリメントとデクリメント方法の各呼び出し長い測定するために使用することができるクラスを実装しこの情報を印刷します。クラスは、IncDecインターフェースの既存のクライアントと多かれ少なかれ透過的に適合しなければならない。
マイソリューション:
public class Test{
public static void main(String[] args){
MyIncDec mid = new MyIncDec(4);
long l1;
long l2;
l1 = Calendar.getInstance().getTimeInMillis();
mid.increment();
l2 = Calendar.getInstance().getTimeInMillis();
System.out.println(l2-l1);
}
}
私の解決策は、私は「増分」を呼び出した後のnの前に長い値を表示すると、彼らが同じである0と私の時間の差分を与えます。なぜそうなのか?
アプリケーションの多くの場所で同様の方法(メソッド呼び出しのタイミング)が必要だったとします。 1つのアイデアは、すべての異なるメソッドに対して別々のタイマークラスを書くことです。誰かがタイミングをより便利にするための別の最適化されたアイデアを持っていますか?
なぜメソッド呼び出しがミリ秒で終了すると思いますか? 'System.nanoTime'はより正確ですが、正確ではありません。 –
+1:宿題にどのように質問するべきかの優れた例です! :) –
あなたは今までのあなたの質問の答えを受け入れていない。あなたはここで新しいので、おそらくあなたはこの意味が分かりません。 FAQは次のように述べています。どの答えが最も役立つかを決めたら、答えの左側にあるチェックボックスの輪郭をクリックして、それを受け入れられた回答としてマークします。これにより、あなたはあなたの質問に対する良い答えを受け取ったことを他の人に知らせることができます。そうすることは、あなたがコミュニティから価値を得ている他の人々を示しているので役立ちます。 (あなたがこれをしないと、人々は丁寧にあなたに戻ってあなたの質問の多くの答えを受け入れるよう頼むでしょう!) – oezi