2017-08-11 8 views
-2

JavaでaspectJを使用していくつかのコードを実行しています。私は、メソッド呼び出しの増分カウントを取得したい。だから私はcount++私のコードで使用されます。私は私のテストコードの結果を取得すると、それは私が12ではなく0を見て期待していたなぜ1の代わりに0から始まるインクリメンタルカウント?

0 
1 
2 

示しています。私がなぜ0を最初に得ているのかを知る。 0が表示されないようにするにはどうすればよいですか?私はコーディングで本当に新しいです

public aspect TrackMoneyOwed{ 
    private static int calcCallCount=0; 

    pointcut calculatePriceCall(): 
     call(* *.calculatePrice()); 

    after(): calculatePriceCall(){ 
     System.out.println(calcCallCount++);  
    } 
} 

は、ここに私のコードです。だから私は本当にいくつかの助けを感謝します。ありがとう!

+1

「some codes」はどこですか? – soorapadman

+0

あなたが増分する前に表示しているので、多分? ze codezなしで言うのは難しいです... – AntonH

+0

public aspect TrackMoneyOwed { private static int calcCallCount = 0; /*プライベートダブルlicenseFee; */ pointcut calculatePriceCall(): call(* * .calculatePrice()); after():calculatePriceCall(){ System.out.println(calcCallCount ++); } } – Sami

答えて

1
System.out.println(calcCallCount++); 

最初にcalCallCountを印刷してからインクリメントします。 System.out.println(++calcCallCount);を使用して最初にインクリメントしてから印刷してください。

i++++iの差が右読み取られる前i++インクリメントiは、それが読まれた後ことがあり、++iインクリメントします。 i++はポストインクリメントと呼ばれ、++iはプリインクリメントと呼ばれます。

関連する問題