2011-11-24 5 views
21

AndEngineを使って画面にスプライトを追加し、movemodifierメソッドを使用しています。数字が特定の数値で割り切れるかどうかを確認するにはどうすればいいですか?

私は2つの整数を持っています MaxDurationとMinDuration;

私がやりたいことは、ユーザーが一定の増分点に達したときです。

ユーザーが40に達したとき(整数が変更されたとき)、ユーザーが20になったとき(整数が変更されたとき)。したがって、基本的には20ずつカウントされ、スコアが20で割り切れる数値を満たすたびに整数の変更が行われます。私はこれが理にかなってほしい。

これを行う方法または方法はありますか?私はちょうど約毎秒スコアをチェックできるUpdateTimeハンドラを持っています。

アイデア?

答えて

66
n % x == 0 

nをxで割ることができることを意味します。だから... ...例えば、あなたのケースで:あなたは(それが2で割り切れるかどうか)の数が偶数か奇数であるかどうかを確認したい場合は

boolean isDivisibleBy20 = number % 20 == 0; 

また、あなたはビット演算子を使用することができます。

boolean even = (number & 1) == 0; 
boolean odd = (number & 1) != 0; 
+8

これに追加し、このsymbole率(%)*率*オペレータ、または略し* MOD *として知られています。したがって、この関数は* n mod xが0 *と同じように読み取ることができます。 – Phil

+0

この場合、スコアが20で、それが20で割り切れるかどうかを調べると、答えは1になるので、それは偽ですか?正しい?なぜそれは== 0ですか? –

+0

正しい。それは残りの正しいを返しますか? –

3
package lecture3; 

import java.util.Scanner; 

public class divisibleBy2and5 { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     System.out.println("Enter an integer number:"); 
     Scanner input = new Scanner(System.in); 
     int x; 
     x = input.nextInt(); 
     if (x % 2==0){ 
      System.out.println("The integer number you entered is divisible by 2"); 
     } 
     else{ 
      System.out.println("The integer number you entered is not divisible by 2"); 
      if(x % 5==0){ 
       System.out.println("The integer number you entered is divisible by 5"); 
      } 
      else{ 
       System.out.println("The interger number you entered is not divisible by 5"); 
      } 
     } 

    } 
} 
関連する問題