【问题标题】:If Else Java Syntax Issue [closed]If Else Java 语法问题 [关闭]
【发布时间】:2016-02-24 09:01:26
【问题描述】:

我的逻辑面临一个非常基本的问题。基本上我有两个条件。一种是当 !quiet 时,另一种是当它的 !quiet && _cmdLine.isInteractive 时。

我试图将它们放在 if else 块中,但使用 else 时会出现语法错误,如果我只使用 if 语句或 if-else if,它就不起作用。我在下面粘贴了我的代码,需要一些帮助。我只是不知道我哪里出了问题。

if (!quiet) {
        String targetName = getPrintoutNameFromStartable(start,
                    picoName);
        System.out.print("message here");
}

if (_cmdLine.isInteractive()) {
        System.out.println("a different message");

        return 1;
}

【问题讨论】:

  • 你能发布 else 有语法错误的版本吗?
  • 一个&& 将是一个嵌套的if。因为if 一个是true 你仍然需要看到if 另一个也是。但你不应该那样做。
  • 您希望它们处于 if else 条件下吗?你不认为一个 (!quiet && _cmdLine.isInteractive) 是另一个 (!quiet) 的子集吗?
  • 这是我尝试使用的 else
  • @samujoe 如果!quiet 为假,那么!quiet && _cmdLine.isInteractive 必须为假。

标签: java if-statement syntax


【解决方案1】:

希望这可以帮助您了解如何处理两个不同的标志。

if (!quiet) {
    String targetName = getPrintoutNameFromStartable(start,
        picoName);
    System.out.print("message here");

    if ( _cmdLine.isInteractive()) {
        System.out.println("a different message");
        return 1;
    }else{
        //do something
    }
}else{
    if ( !_cmdLine.isInteractive()) {
        System.out.println("a different message");
        return 1;
    }else{
        //do something
    }
}

【讨论】:

  • 这个我试过了,一模一样,但是不行
  • 那就是我试图切换到 if else
  • 为什么你认为“它不起作用”?你已经说过任何可以表明为什么不应该这样做的内容。
  • 我觉得应该是 if (!quiet) { if ( _cmdLine.isInteractive()) { System.out.println("a different message");返回 1; } String targetName = getPrintoutNameFromStartable(start, picoName); System.out.print("这里有消息"); }
  • 如果您可以发布您的完整方法,也许我们可以尝试提供帮助。虽然这已经是在喂食了
【解决方案2】:

我认为您正在寻找的是:

if (!quiet && _cmdLine.isInteractive()) {
    // ...
} else if (!quiet) {
    // ...
}

【讨论】:

  • 这在技术上不是多余的吗?
  • @ChiefTwoPencils else if 如果 _cmdLine.isInteractive() 为假则执行。
  • 我的意思是,检查!quiet 两次在技术上是多余的。当quiettrue 时,它会尽快失败。当quietfalse 你已经知道它是true。顺便说一句,不是一个反对的选民。
  • if (_cmdLine.isInteractive()) { System.out.println("交互模式下不支持命令"); Logger.getLogger(Logger.GLOBAL_LOGGER_NAME).log(Level.WARNING, "Zoom"); // 返回 1; } if (!quiet) { String targetName = getPrintoutNameFromStartable(start, picoName); System.out.print(S_SHUTTING + targetName + "..."); Logger.getLogger(Logger.GLOBAL_LOGGER_NAME).log(Level.WARNING, "原始方法"); }
  • 我在尝试这个时得到一个 java 空指针异常
猜你喜欢
  • 1970-01-01
  • 2015-07-01
  • 2020-10-28
  • 1970-01-01
  • 2017-09-05
  • 2021-05-15
  • 1970-01-01
  • 2016-10-15
  • 2018-03-29
相关资源
最近更新 更多