【问题标题】:If else branch never usedif else 分支从未使用过
【发布时间】:2018-10-22 10:09:13
【问题描述】:

我正在使用 if else 并写下一些代码突然发生 else 说分支从未使用过......但它应该工作。

语句如下所示

JOptionPane.showConfirmDialog(null,full_name+"\n"+number_age+"\n"+gender+"\n"+address+
                 "\n"+birthday+"\n"+cell_no,"CHECK INFORMATION!",JOptionPane.YES_NO_OPTION);
if(true){
    JOptionPane.showMessageDialog(null,"Thank you for Entering");
}else{
    JOptionPane.showMessageDialog(null,"Please Retry");
}

【问题讨论】:

  • 如果 if true 永远不会为 false,那么 else 分支应该如何处理?
  • 你能给我们举一个这样的例子吗:if(true){ 会返回 false?
  • 如果按钮“否”或“取消”是按下弹出消息应该激活“请重试”但在我的情况下它不会触发我认为因为 else 中的死分支
  • 您可能想要检查对话框的结果,而不仅仅是值true
  • 我更新了答案

标签: java swing joptionpane messagedialog


【解决方案1】:

检查JOptionPane.showConfirmDialog的响应并与JOptionPane.YES_NO_OPTION比较:

int answer = JOptionPane.showConfirmDialog(null,full_name+"\n"+number_age+"\n"+gender+"\n"+address+
                 "\n"+birthday+"\n"+cell_no,"CHECK INFORMATION!",JOptionPane.YES_NO_OPTION);
if (JOptionPane.YES_OPTION == answer)) {
    JOptionPane.showMessageDialog(null,"Thank you for Entering");
} else {
    JOptionPane.showMessageDialog(null,"Please Retry");
}

【讨论】:

  • 不应该是 if (JOptionPane.YES_OPTION == answer)) 吗?
  • 我做到了,它成功了,非常感谢你的帮助:)
  • @jasperianpalma 欢迎您,您可以点击左侧的V签名接受答案
  • @user7294900 我提到 YES_OPTION 而不是 YES_NO_OPTION。是的,它们都是“0”,但 YES_OPTION 会更正确恕我直言。甚至不知道在所有 Java 实现中两者是否都是“0”。
猜你喜欢
  • 2020-03-20
  • 1970-01-01
  • 2011-06-24
  • 2021-05-25
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 2018-06-17
相关资源
最近更新 更多