变量已在方法中声明,我想再次使用该变量,在if else语句的同一方法中。这是我声明的方法和变量。
我收到了“无法访问的声明”错误。
public void update() {
System.out.println("'Back' to go back.");
System.out.println("Enter Invoice Number:");
String code = Input.getTextInput();
if ("back".equalsIgnoreCase(code)) {
return;
}
InvoiceDto invoiceToUpdate = invoiceService.readByCode(code);
//Update the Invoice in memory
System.out.println("Enter New Product ID:");
String productId = Input.getTextInput();
if ("back".equalsIgnoreCase(productId)) {
return;
} else {
invoiceToUpdate.setProductId(productId);
return;
}
invoiceToUpdate = invoiceService.readByCode(code);
if (invoiceToUpdate == null) {
System.out.println("Please enter a valid invoice code");
return;
}
答案 0 :(得分:5)
您收到“无法访问的代码”错误的原因是:
if ("back".equalsIgnoreCase(productId)) {
return;
} else {
invoiceToUpdate.setProductId(productId);
return;
}
此代码从“if”和“else”子句中的方法返回。这意味着在if
之后,流永远不会到达该行。因此,你得到了错误。
你可能需要重新思考你的逻辑。 return
将您发送回调用该方法的代码中的位置。你方法的逻辑没有意义。