2014-05-08 7 views
9

मैं नीचे दिए गए प्रारूप के थोड़ी देर लूप को तोड़ना चाहता हूं जिसमें एक कथन है। यदि वह कथन सत्य है, तो जबकि लूप भी तोड़ना चाहिए। किसी भी सहायता की सराहना की जाएगी।जबकि लूप के अंदर एक स्थिति से थोड़ी देर लूप कैसे तोड़ें?

while(something.hasnext()) { 
    do something... 
    if(contains something to process){ 
     do something 
     break if condition and while loop 
    } 
} 
+2

आप अपने सवाल में जवाब कहा! –

+0

** लूप अगर ब्रेक ** कुछ 'करते हैं' तो लूप ने मुझे भ्रमित कर दिया। मैंने सोचा कि दो लूप हैं। – Braj

+0

आप 'if (true) {break;} 'नहीं कह सकते हैं। – Braj

उत्तर

27

if लूप नहीं है। बस break; पर कॉल करें।

काल्पनिक उदाहरण:

public static void main(String[] args) { 
    int i = 0; 
    while (i++ < 10) { 
    if (i == 5) break; 
    } 
    System.out.println(i); //prints 5 
} 

आप वास्तव में नेस्टेड छोरों उपयोग कर रहे थे, तो आप में सक्षम to use labels होगा।

+0

@ कोडेलेर्न 14 आप यह कहते रहें, लेकिन इससे कोई फर्क नहीं पड़ता कि आप कितनी बार कहते हैं कि यह अभी भी झूठा होगा। –

+0

@ कोडेलेर्न 14 क्या आप कोड उदाहरण पोस्ट कर सकते हैं जो साबित करेगा कि आप क्या कह रहे हैं? हो सकता है कि 'if' की स्थिति कभी भी 'ब्रेक' को लागू होने से रोका न जाए। – Pshemo

+0

हाँ मैं भी वही सोचता हूं। मेरी बुरा खेद है और मदद के लिए धन्यवाद – Coder2017

2

एक "अगर" लूप नहीं है। बस "अगर" के अंदर ब्रेक का उपयोग करें और यह "थोड़ी देर" से बाहर हो जाएगा।

यदि आपको कभी भी वास्तविक नेस्टेड लूप का उपयोग करने की आवश्यकता है, तो जावा में लेबल किए गए ब्रेक की अवधारणा है। आप लूप से पहले एक लेबल डाल सकते हैं, और उसके बाद लेबल के नाम का उपयोग ब्रेक करने का तर्क है। यह लेबल वाले लूप के बाहर टूट जाएगा।

3
while(something.hasnext()) 
do something... 
    if(contains something to process){ 
     do something... 
     break; 
    } 
} 

बस ब्रेक स्टेटमेंट का उपयोग करें;

उदाहरण के लिए: यह सिर्फ प्रिंट "तोड़ रहा है ..."

while (true) { 
    if (true) { 
     System.out.println("Breaking..."); 
     break; 
    } 
    System.out.println("Did this print?"); 
} 
+0

@rahul कृपया उत्तर दें – Braj

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