मैं इस पर घंटों तक घूर रहा हूं और समाधान के बारे में सोचने में असमर्थ हूं; मैं आमतौर पर regex के साथ इस प्रकार की मान्यता संभाल लेकिन एक बदलाव के लिए निर्मित एक समाधान का उपयोग करने की कोशिश कर रहा हूँ (जाहिर है, मैं अक्सर ऐसा नहीं करते हैं):जावा कोशिश/पकड़ - या तो "वापसी नहीं मिली" या "चर प्रारंभ नहीं किया गया है"?
private static double promptUserDecimal(){
Scanner scan = new Scanner(System.in);
System.out.println("Enter a decimal");
try{
double input2 = Double.parseDouble(scan.nextLine());
return input2;
} catch(NumberFormatException e){
System.out.println("Sorry, you provided an invalid option, please try again.");
}
}
इस के साथ त्रुटि है कि "वापसी "कंपाइलर द्वारा नहीं मिला है इसलिए मुझे एक संकलन त्रुटि मिलती है। अगर मैं कोशिश/पकड़ के बाहर "वापसी" डालता हूं तो मुझे "इनपुट 2" घोषित करने/आरंभ करने की आवश्यकता होती है जो ऑपरेशन के उद्देश्य को हरा देता है। किसी भी सहायता की सराहना की जाती है ...
आप अपवाद को पकड़ते हैं, एक संदेश प्रिंट करते हैं, लेकिन फिर भी विधि 'पकड़' ब्लॉक से जारी है। कंपाइलर इस तथ्य के बारे में शिकायत कर रहा है कि अगर कैच ब्लॉक मारा जाता है तो आप वापस नहीं आते हैं (सभी नहीं पथ वापसी) – birryree