के साथ प्रयास-पकड़ का उपयोग करना है तो मैं एक प्रोग्राम बना रहा हूं जो कमांड लाइन से एक इनपुट इनपुट लेता है और फिर int के लिए प्रोग्राम में सरणी की खोज करता है और यदि पाया जाता है, तो संख्या की अनुक्रमणिका लौटाएं। यदि नहीं, तो यह एक अपवाद फेंकता है जिसमें कहा गया है कि यह प्रोग्राम नहीं मिला और समाप्त नहीं हुआ।यदि कोई और लूप
public static void main(String[] args) {
int[] intArray = {9, 97, 5, 77, 79, 13, 7, 59, 8, 6, 100, 55, 35, 89, 74, 66, 32, 47, 51, 88, 23};
System.out.println(Arrays.toString(intArray));
int intArgs = Integer.parseInt(args[0]);
System.out.println("Your entered: " + intArgs);
FindNum(intArray, intArgs);
}
public static int FindNum(int[] intArray, int intArgs) {
for (int index = 0; index < intArray.length; index++){
try{
if (intArray[index] == (intArgs))
System.out.println("Found It! = " + index);
else
throw new NoSuchElementException("Element not found in array.");
} catch (NoSuchElementException ex){
System.out.println(ex.getMessage());
}
}
return -1;
}
जबकि काम करता है इस तरह की और सूचकांक पा सकते हैं, यह सिर्फ पूरे सरणी के लिए एक के बजाय सरणी में प्रत्येक संख्या के लिए अपवाद फेंकता है: यह क्या मैं अब तक है। और यदि यह सरणी में संख्या पाता है, तो यह लूप से पुष्टिकरण रेखा के साथ लाइनों में से एक को प्रतिस्थापित करता है। 66 के लिए उदाहरण आउटपुट:
[9, 97, 5, 77, 79, 13, 7, 59, 8, 6, 100, 55, 35, 89, 74, 66, 32, 47, 51, 88, 23]
Your entered: 66
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Found It! = 15
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
Element not found in array.
मैं इसे कैसे इतना है कि जब यह संख्या पाता है, यह केवल सूचकांक लाइन और अपवाद के लिए उतना ही प्रिंट कर सकते हैं। मुझे लगता है कि यह लूप के साथ कुछ करने के लिए हो सकता है लेकिन यह सुनिश्चित नहीं है कि मैं इसे रोकने के लिए क्या कर सकता हूं।
लूप के अंदर try-block डालने के बजाए लूप को try-block के अंदर रखें। या बेहतर अभी तक, एक कोशिश-ब्लॉक क्यों है? बस खोज करें, और यदि नहीं मिला तो त्रुटि संदेश मुद्रित करें। – FredK
लूप के बाहर अपना प्रयास-पकड़ रखें, इसके अंदर नहीं। – ManoDestra
आप सरणी में किसी तत्व के साथ मान को जांचने के लिए हर बार अपवाद फेंक रहे हैं और एक मेल नहीं मिला है, जो गलत साइन है, आप सभी तत्वों का दौरा करने के बाद ही तत्व को सरणी में निष्कर्ष निकाल सकते हैं। –