2017-01-29 10 views
-1

私は、プログラムが最初に開始するときのタイムスタンプと停止する時刻を表示しようとしています。 それから私は開始と終了の間の継続時間を見つける必要があります。 上記の情報をすべて印刷する必要があります2からインスタントタイムスタンプの間の時間を見つける方法

しかし、私は自分のコードで2つのインスタントタイム(開始、終了)を区別するのに問題があります。 ここに私が持っているものがあります、私はnullを使用すべきではないことを知っていますが、あなたは考えを得る。

public static void main(String[] args) { 
    if (args.length == 0) { 
     Instant t1 = null; 
     Instant t2 = null; 
     Duration duration = null; 
     System.out.println(t1.now()); 
     System.out.println("Input data is missing. Expecting player data."); 
     System.out.println(t2.now()); 
     System.out.println(duration.between(t1, t2)); 
     System.exit(-1); 
    } 
+5

あなたが ''のSystem.out.println(t1.now())にNullPointerException'を持って、私は推測してみましょう; ' – Guy

+0

あなたは本当にnull'なので'以外の何かであなたのオブジェを初期化開始する必要があります。 – luk2302

答えて

1

あなたがInstantのオブジェクトとそれを使用している間now()Instantに静的であるため、おそらくNullPointerExceptionを得ています。また、Durationクラスのオブジェクトを宣言する必要はありません。between()Durationクラスに対して静的であるためです。

public static void main(String[] args) { 
if (args.length == 0) { 
    Instant t1, t2; 
    t1 = Instant.now(); 
    System.out.println(t1); 
    System.out.println("Input data is missing. Expecting player data."); 
    t2 = Instant.now(); 
    System.out.println(t2); 
    System.out.println(Duration.between(t1, t2)); 
    System.exit(-1); 
} 
+0

ありがとうございます。 –

関連する問題