2013-02-13 16 views
13

में पुनरावृत्ति/लूप को कैसे छोड़ें, क्या लूप में पुनरावृत्ति को छोड़ने का कोई शानदार तरीका है?जबकि-लूप

while(rs.next()) 
    { 
    if(f.exists() && !f.isDirectory()){ 
     //then skip the iteration 
    } 
    else 
    { 
    //proceed 
    } 
    } 
+1

क्यों 'f.isDirectory() 'के साथ' if' नहीं है? –

उत्तर

32
while(rs.next()) 
    { 
    if(f.exists() && !f.isDirectory()) 
     continue; //then skip the iteration 

    else 
    { 
    //proceed 
    } 
    } 
6

आप continue; बयान के लिए देख रहे

मुझे क्या करना चाहते हैं।

7

continue; जोड़ने का प्रयास करें जहां आप 1 पुनरावृत्ति को छोड़ना चाहते हैं।

ब्रेक कीवर्ड के विपरीत, जारी रखें एक लूप को समाप्त नहीं करता है। इसके बजाय, यह लूप के अगले पुनरावृत्ति पर जाता है, और इस पुनरावृत्ति में किसी और बयान को निष्पादित करना बंद कर देता है। यह हमें लूप के माध्यम से अगले पुनरावृत्ति को रोकने के बिना, मौजूदा अनुक्रम में शेष बयानों को बाईपास करने की अनुमति देता है।

http://www.javacoffeebreak.com/articles/loopyjava/index.html

3

के बाद से यह के बाकी else बयान में है आप यात्रा को छोड़ने के लिए की जरूरत नहीं है, यह केवल अगर हालत सही नहीं है निष्पादित किया जाएगा।

लेकिन यदि आपको वास्तव में इसे छोड़ना है, तो आप continue; कथन का उपयोग कर सकते हैं।

3
while (rs.next()) 
{ 
    if (f.exists() && !f.isDirectory()) 
    continue; 

    //proceed 
} 
11

आप एक continue इस्तेमाल कर सकते हैं, तो क्यों न सिर्फ तर्क अपने अगर में उलटा?

while(rs.next()) 
{ 
    if(!f.exists() || f.isDirectory()){ 
    //proceed 
    } 
} 

तुम भी एक else {continue;} की जरूरत नहीं है, तो if शर्तों संतुष्ट नहीं हैं के रूप में यह फिर भी जारी रहेगा।

+0

आपको '&&' के बजाय '||' की आवश्यकता होगी। –

+0

तर्क का आपका उलटा सही नहीं है, आपके पास या – lbalazscs

+0

ओप्स के बजाय होना चाहिए, ठीक है, दोस्तों, अब इसमें संशोधन करेंगे। – Quetzalcoatl

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^