我正在制作一个你输入数字的程序,它会告诉你你是对还是错。这是代码。
static int num = 1;
JPanel pnl = new JPanel();
JTextField numSlot = new JTextField(5);
pnl.add(new JLabel("Enter the number:"));
pnl.add(numSlot);
int k = JOptionPane.showConfirmDialog(null, pnl, "Enter your code", -1);
if (k == JOptionPane.OK_OPTION) {
if(numSlot.getText().equals(num)) {
JOptionPane.showMessageDialog(null, "It Worked", "It Worked", -1);
} else {
JOptionPane.showMessageDialog(null, "Sorry", "Sorry", -1);
}
}
if (k == JOptionPane.CANCEL_OPTION) {
} else {
}
使用此代码,即使我输入1,它总是输出对不起,所以有什么我做错了吗?如果是这样你可以回答它并尽量不要粗鲁我是初学者。
答案 0 :(得分:3)
使用
if(numSlot.getText().equals(num+"")){
而不是
if(numSlot.getText().equals(num)) {
num+""
将其int
转换为String
。
相反,您可以使用Integer.toString(num)
或String.valueOf(num)
<强>解释强>
numSlot.getText()
返回String且num
为int,因此numSlot.getText().equals(num)
始终为false,因为String值不能与整数值相同。