Java只执行if条件的最后一部分

Java只执行if条件的最后一部分,java,if-statement,Java,If Statement,我是java初学者。我面临下面的代码问题 我正在设置备注并返回响应,但我只得到打印为所有迭代的日期无效的备注。如果我将所有输入传递为空,则必须打印ID为空,但打印日期始终无效 public Response getInfoDetails(RequestDetails request) { Response response = new Response(); if(Utils.isEmpty(request.getID())) {

我是java初学者。我面临下面的代码问题

我正在设置备注并返回响应,但我只得到打印为所有迭代的日期无效的备注。如果我将所有输入传递为空,则必须打印ID为空,但打印日期始终无效

    public Response getInfoDetails(RequestDetails request)
     {
      Response response = new Response();
      if(Utils.isEmpty(request.getID()))
      {
       response.setREMARKS("ID is empty);
      }

      if(Utils.isEmpty(request.getName()))
      {
       response.setREMARKS("Name is empty);
      }
      if(Utils.isIpAddressValid(request.getIP()))
      {
       response.setREMARKS("IP is invalid");
      }
      if(Utils.isDateValid(request.getDate()))
      {
       response.setREMARKS("Date is invalid");
      }
       return response;
     }

如果..,请建议您使用
。。else
如果您希望某些代码仅在条件为false时执行。

您应该使用
if。。else
如果您希望某些代码仅在条件为false时执行。

我认为您的代码中存在逻辑错误

if(Utils.isDateValid(request.getDate()))
{
  response.setREMARKS("Date is invalid");
}
如果日期有效,则添加日期无效的备注。支票应该是

if(!Utils.isDateValid(request.getDate()))
{
  response.setREMARKS("Date is invalid");
}

IP地址检查也是如此。

我认为您的代码中存在逻辑错误

if(Utils.isDateValid(request.getDate()))
{
  response.setREMARKS("Date is invalid");
}
如果日期有效,则添加日期无效的备注。支票应该是

if(!Utils.isDateValid(request.getDate()))
{
  response.setREMARKS("Date is invalid");
}

IP地址检查也是如此。

一旦你发现了问题所在,你就想停下来并返回

您可以这样做:

if (Utils.isIpAddressValid(request.getIP()))
{
    response.setREMARKS("IP is invalid");
    return response; // don't proceed - stop and return
}

您也可以使用
if..else
,但是I发现它太冗长,可读性较差。

一旦您找到问题所在,您就要停止并返回

您可以这样做:

if (Utils.isIpAddressValid(request.getIP()))
{
    response.setREMARKS("IP is invalid");
    return response; // don't proceed - stop and return
}

您也可以使用
if..else
,但I发现它太冗长,可读性较差。

有两种解决方案: 如果输入任何if语句,您应该返回response。它不会移动到下一个语句


使用BobTheBuilder提到的else if语句可以有两种解决方案: 如果输入任何if语句,您应该返回response。它不会移动到下一个语句


使用BobTheBuilder提到的else if语句,该语句取决于
Utils.isDateValid的代码。另外,如果(!Utils.isDateValid(request.getDate())
请缩进代码以使其可读,那么您可能打算将最后一个条件设置为
。澄清你的问题:你说的是迭代和打印的东西,但是代码没有循环,并且从不打印任何内容。日期是否也无效?请将
if
else
一起使用,并重新考虑
Utils
方法的
true
false
值,这取决于
Utils的代码。isDateValid
。另外,如果(!Utils.isDateValid(request.getDate())
请缩进代码以使其可读,那么您可能打算将最后一个条件设置为
。并澄清您的问题:您谈论的是迭代和正在打印的内容,但代码没有循环,并且从不打印任何内容。日期是否也无效?请将
if
else
一起使用,并再次考虑
Utils
方法的
true
false