2011-11-24 12 views
21

मैं स्क्रीन पर sprites जोड़ने के लिए AndEngine का उपयोग कर रहा हूँ और movemodifier विधि का उपयोग कर आते हैं।कैसे जांचें कि संख्या किसी निश्चित संख्या से विभाजित है या नहीं?

मेरे पास दो पूर्णांक अधिकतम अवधि और न्यूनतम अवधि है;

मैं क्या करना चाहता हूं जब उपयोगकर्ता किसी निश्चित वृद्धि के स्कोर प्राप्त करता है।

उदाहरण के लिए .. जब उपयोगकर्ता 40 (पूर्णांक परिवर्तन) प्राप्त करता है तो उपयोगकर्ता 20 (पूर्णांक परिवर्तन) प्राप्त करता है। तो मूल रूप से 20 तक गिनती है और हर बार जब स्कोर पूर्णांक के परिवर्तन से 20 तक विभाजित होता है। मुझे लगता है कि इसका मतलब बनता है।

क्या ऐसा करने के लिए कोई तरीका या तरीका है? मेरे पास एक अपडेटटाइम हैंडलर है जो हर सेकेंड के स्कोर को देख सकता है।

कोई विचार?

उत्तर

66
n % x == 0 

मतलब है कि एन को x द्वारा विभाजित किया जा सकता है। तो ... उदाहरण के लिए, आपके मामले में:

boolean isDivisibleBy20 = number % 20 == 0; 

इसके अलावा, आप एक नंबर सम या विषम (चाहे वह 2 या नहीं से विभाज्य है) है कि क्या जांच करने के लिए चाहते हैं, तो आप एक बिटवाइज़ ऑपरेटर का उपयोग कर सकते हैं:

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

यह करने के लिए जोड़ने के लिए, इस symbole (%) * मापांक * ऑपरेटर, या संक्षेप में * आधुनिक * के रूप में जाना जाता है। तो इस फ़ंक्शन को * 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"); 
      } 
     } 

    } 
}