System.out.println基于组合框选择

时间:2014-03-20 16:55:50

标签: java

我试图根据组合框的选择将可能的两条不同的行打印到1个文本框中。

我想将其打印到名为textACall

的textField中

这是我的代码..我在if语句中遇到错误。

  private void answerCallActionPerformed(java.awt.event.ActionEvent evt) {                                           
        try {
        String sql = "SELECT Answer FROM contact";
        pst = conn.prepareStatement(sql);
        rs = pst.executeQuery();

                String answer = rs.getString("answer");

                if (answer == 0) {
                    System.out.println ("Answer Call!");
                }

                else {
                    System.out.println("Do Not Answer!");
                }
    }
        catch(Exception e) {
        JOptionPane.showMessageDialog(null, e);
        }
    }    

1 个答案:

答案 0 :(得分:1)

比较字符串时不要使用==。改为使用equals()方法。

编辑 - 等待为什么要将String与int进行比较?您需要将0转换为String(这非常简单,只需将其放在引号中)或使用Integer类中的方法将String答案转换为int。

您可以将答案转换为类似的int:

String strAnswer = rs.getString("answer");
int intAnswer = Integer.valueOf(strAnswer);
if (intAnswer == 0) {
   System.out.println ("Answer Call!");
}
else {
   System.out.println("Do Not Answer!");
}

或者您可以使用字符串比较,注意equals()方法而不是==和0周围的引号:

String strAnswer = rs.getString("answer");
if (strAnswer.equals("0")) {
   System.out.println ("Answer Call!");
}
else {
   System.out.println("Do Not Answer!");
}

您使用哪种方法取决于您的背景。您也可以将答案转换为布尔值,但这与您的if语句没有太大区别。如果你必须进行大量的这些转换,那么获取一个String并返回一个布尔值是有意义的,无论它是0还是1。