您好,我目前正在尝试创建一个计算机游戏\程序,它使用的主要内容是用户在 JTextField 中输入的命令。因此,我已经在 JFrame 中设置了一个名为“问题”(JTextField question = new JTextField(15);)的基本文本字段,并有一个用于输入文本的 OK 按钮。接下来是一个字符串“答案”。这是: String answer = question.getText().toUpperCase();
这就是该字段的设置方式。Net 是 3 个 if 语句,如果没有输入文本,如果它不是正确的单词,当然还有正确的答案,则会给出错误。它们如下:
Public class ButtonListener extends ActionListener
{
publix void actionPerformed(ActionEvent e)
{
if(e.getSource() == buttonOK)
{
String answer = question.getText().toUpperCase();
if(answer.length() == 0)
{
JOptionPane.showMessageDialog(
Window.this,
"ERROR: NO INPUT",
"ERROR",
JOptionPane.INFORMATION_MESSAGE);
}
if(answer == "XENIX")
{
JOptionPane.showMessageDialog(
Window.this,
"Welcome, Sir",
"Greetings",
JOptionPane.INFORMATION_MESSAGE);
}
if(answer != "XENIX" && answer.length > 0)
{
JOptionPane.showMessageDialog(
Window.this,
"ERROR: INCORECT PASSWORD",
"ERROR",
JOptionPane.INFORMATION_MESSAGE);
}
这是输入文本并按下确定按钮时 if 语句的反应方式。一切正常,但是当我输入“Xenix”时,它显示“错误:密码错误”。“欢迎您,先生”消息永远不会显示,即使使用打印方法它表明它显然从答案中得到“XENIX”。为什么它不起作用?我应该使用另一种方法吗?请尽快回复!谢谢!