Ich habe das stundenlang angeguckt und konnte nicht an eine Lösung denken; Ich in der Regel behandeln die Validierung dieser Art mit regex aber ich versuche, eine integrierte Lösung für einen Wechsel zu verwenden (natürlich, ich tun dies nicht häufig):Java-Versuch/Fang - Entweder "Rückkehr wird nicht gefunden" oder "Variable wird nicht initialisiert"?
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.");
}
}
Der Fehler dabei ist, dass die „Rückkehr "wird vom Compiler nicht gefunden, daher erhalte ich einen Kompilierfehler. Wenn ich die "Rückkehr" außerhalb des try/catch setze, muss ich "input2" deklarieren/initialisieren, was den Zweck der Operation vereitelt. Jede Hilfe wird geschätzt ...
Sie fangen die Ausnahme ab, drucken eine Nachricht aus, aber dann fährt die Methode mit dem' catch' Block fort. Der Compiler beklagt sich darüber, dass Sie nicht zurückkommen, wenn der catch Block getroffen wird (nicht alle Pfade zurückgeben.) – birryree