/ / जब मैं जावा में लूप (जबकि लूप के लिए भी उपयोग कर रहा हूं) से बाहर निकलने की कोशिश कर रहा हूं - जावा, एरे, फॉर-लूप, एग्जिट, डू-जबकि

मैं जावा - जावा, सरणी, फॉर-लूप, बाहर निकलने के दौरान, लूप के दौरान बाहर निकलने का प्रयास कर रहा हूं (जबकि लूप के लिए भी उपयोग कर रहा हूं)

मैं एक ऐसी परियोजना पर काम कर रहा हूं जिसमें मुझे होना चाहिएबंधक की गणना करें। यह एक ऋण चयन मेनू माना जाता है जिसमें 1) बंधक की गणना करने के लिए डिफ़ॉल्ट मानों का उपयोग करता है। 2) उपयोगकर्ता को कस्टम मानों में प्रवेश करने की अनुमति देगा। 3) उपयोगकर्ता को कार्यक्रम से बाहर निकलने की अनुमति देता है और गणना किए गए मूल्यों को प्रदर्शित करता है। मेरे पास एक लूप के लिए प्रोग्राम को 10 गुना तक चलाने की अनुमति है (हालांकि यह कम हो सकता है)। मैं वर्तमान में 3 से चयन होने पर प्रोग्राम से बाहर निकलने के लिए डू-लूप का उपयोग कर रहा हूं। हालांकि यह "बाहर निकलने वाला नहीं है। मुझे यकीन नहीं है कि क्या गलत है और मैं स्पष्टीकरण की उम्मीद कर रहा हूं और यह सुनिश्चित करने के लिए कि मैं इसे लागू कर सकता हूं, कुछ ट्विक्स इसे लागू कर सकते हैं।"

        do
{
int selection = 0;
for(int i=0; i<loanArray.length; i++)
{
System.out.println("Please choose from the following choices below: ");
System.out.println("t1) Promotional Loan (preset loan amount, rate, term)");
System.out.println("t2) Unique Loan (enter in loan values)");
System.out.println("t3) Quit (Exit the program)");

System.out.println("Please enter your selection(1-3): ");
selection = s.nextInt();

if(selection ==1)
{
loanArray[i] = new Mortgage();
System.out.println(loanArray[i].toString());
}
else if (selection ==2)
{
loanArray[i].storeLoanAmount();
loanArray[i].storeInterestRate();
loanArray[i].storeTerm();
System.out.println(loanArray[i].toString());
}
else if(selection == 3)
{
programSelection = false;
programRunning = false;
}
}//end of for array loop
}while (programSelection == true);  //end of selection while loop

System.out.println("Exit Test");    //print statement to test if selection screen exited

उत्तर:

जवाब के लिए 0 № 1

मैंने वास्तव में इसका परीक्षण नहीं किया है, लेकिन मुझे लगता है कि समस्या बाहर निकल रही है for पाश। परीक्षण करने का सबसे तेज़ तरीका है जो सिर्फ एक का उपयोग करना है break एक लेबल के साथ बयान।

    outerLoop:
do
// ...
else if(selection == 3)
{
break outerLoop;
}
}//end of for array loop
}while (programSelection == true);  //end of selection while loop

लेबल वाले ब्रेक स्टेटमेंट पर चर्चा की जाती है जावा ट्यूटोरियल।


जवाब के लिए 0 № 2

एक जोड़ें break; के बाद programRunning = false;


जवाब के लिए 0 № 3

आपको सही तर्क मिल गया है इसका कारण लूप है।

while (programSelection == true)

केवल लूप के लिए निष्पादित किया जाएगा। साथ ही सतर्क रहने की जरूरत है क्योंकि अगर loanArray लंबाई 1 है आप सोच सकते हैं कि कोड अच्छी तरह से काम करता है, वास्तव में यह doesn't।