2011-11-24 14 views
21

Estoy usando AndEngine para agregar sprites a la pantalla y encontrar el método movemodifier.¿Cómo verificar si el número es divisible por un cierto número?

Tengo dos enteros MaxDuration y MinDuration;

Lo que quiero hacer es cuando el usuario obtiene un puntaje de un cierto incremento.

Como por ejemplo ... cuando el usuario llega a 20 (el número entero cambia) cuando el usuario llega a 40 (el número entero cambia). Así que básicamente cuenta por 20 y cada vez que el puntaje se encuentra con un número divisible por 20 el cambio del entero. Espero que esto tenga sentido.

¿Hay algún método o forma de hacerlo? Tengo un controlador UpdateTime que puede verificar el puntaje casi cada segundo.

¿Alguna idea?

Respuesta

66
n % x == 0 

Significa que n se puede dividir por x. Así que ... por ejemplo, en su caso:

boolean isDivisibleBy20 = number % 20 == 0; 

Además, si desea comprobar si un número es par o impar (si es divisible por 2 o no), se puede utilizar un operador de bits:

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

para añadir a esto, este symbole (%) se conoce como el * módulo operador *, o * * mod para abreviar. Entonces esta función se puede leer como * n mod x es igual a 0 *. – Phil

+0

Entonces, en este caso, si el puntaje es 20 y verifica si es divisible entre 20, la respuesta será 1. ¿Entonces sería falso? ¿correcto? Entonces, ¿por qué es == 0? –

+0

Correcto ... ¿Devolverá el resto correcto? –

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"); 
      } 
     } 

    } 
} 
Cuestiones relacionadas