我正在编写一个程序,您在其中键入数字,它会告诉您是对还是错。这是代码。
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,它也总是会输出抱歉,所以我做错了什么?如果是这样,您可以回答这个问题,并尽量不要粗鲁,我是一个初学者。
最佳答案
使用
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值不能与整数值相同。