मैं अब कई वर्षों से जावा में प्रोग्रामिंग कर रहा हूं, लेकिन मैं अभी हाल ही में औपचारिक डिग्री प्राप्त करने के लिए स्कूल लौटा हूं। मुझे यह जानकर काफी हैरानी हुई कि, अपने आखिरी असाइनमेंट पर, मैंने नीचे दिए गए लूप का उपयोग करने के लिए अंक खो दिए।
do{
//get some input.
//if the input meets my conditions, break;
//Otherwise ask again.
} while(true)
अब अपने परीक्षण के लिए मैं सिर्फ कुछ कंसोल इनपुट के लिए स्कैन कर रहा हूं, लेकिन मुझे बताया गया कि इस तरह के लूप को हतोत्साहित किया जाता है क्योंकि इसका उपयोग करने के break
लिए समान हैgoto
, हम बस ऐसा नहीं करते हैं।
मैं goto
और इसके जावा चचेरे भाई के नुकसान को पूरी तरह से समझता हूंbreak:label
, और मेरे पास इनका उपयोग न करने की अच्छी समझ है। मुझे यह भी एहसास है कि एक अधिक पूर्ण कार्यक्रम, पलायन के कुछ अन्य साधन प्रदान करेगा, उदाहरण के लिए कार्यक्रम को समाप्त करने के लिए कहें, लेकिन यह एक कारण नहीं था कि मेरे प्रोफेसर ने उद्धृत किया, इसलिए ...
इसमें गलत क्या है do-while(true)
?
break
शायद अच्छी तरह से अर्थ है, लेकिन वास्तव में गलत समझा। शायद आप इस पर अपने प्रोफेसर को शिक्षित कर सकते हैं;) मेरे अनुभव में प्रोफेसरों को प्रोग्रामिंग के शिल्प के बारे में ज्यादा जानकारी नहीं है।
do {} while (true)
है कि इसके बराबर है while(true) {}
और बाद में कहीं अधिक पारंपरिक रूप और बहुत स्पष्ट है।
break
, तो उन्हें इसके बिना किसी भाषा में प्रोग्रामिंग की कोशिश करनी चाहिए। इससे पहले कि आप इसके लिए चाहते हैं यह बहुत सारे छोरों को नहीं लेता है!