2012-12-24 22 views
5

मुझे i++ पर लूप के लिए एक मृत कोड चेतावनी मिल रही है। मुझे यह क्यों मिलता है, और मैं इस समस्या को कैसे हल करूं?जावा - लूप के लिए मृत कोड

public static boolean Method(int p) { 
    for(int i = 2; i < p; i++) { // here is the problem, at i++ 
     if(p % i == 0);   
      return false; 
    } 
    return true;  
} 
+0

पी यहां का मूल्य क्या है की कोशिश? –

+2

आपने मुझे धोखा दिया! वह अर्धविराम देखना मुश्किल था ... –

+0

@jmendeth यह हमेशा होता है! :) – Sikorski

उत्तर

3

समस्या इस पंक्ति में है:

if(p % i == 0); 

निकालें अर्धविराम और फिर

12

आप हमेशा लूप से तुरंत बाहर निकलें, इसलिए i कभी बढ़ता नहीं है।

if(p % i == 0);   
     return false; 

if(p % i == 0)  
     return false; 

पहले संस्करण में होना चाहिए आप बयान (पहले सेमी-कोलन के कारण) यदि निम्न एक खाली खंड की है। नतीजतन return false हमेशा निष्पादित करता है। आप विधि से बाहर निकलें, और i++ कभी निष्पादित नहीं होता है।

7

अपने if कथन के बाद अर्धविराम निकालें।

1

अपने कोड तो विस्तार किया गया है, तो यह हो जाएगा

 public static boolean Method(int p) { 
     for(int i = 2; i < p; i++) { // here is the problem, at i++ 
      if(p % i == 0) 
      { 

      } 
      return false; //If you give return statement here then how it will work. 
     } 
     return true;  
    }