比较 if 语句中的字符串时出错



我有一个名为"name"的变量存储在工作文件夹中的另一个类中。我想将其与来自JOptionPane的用户输入进行比较。我拥有的代码是这样的:

String userInput = JOptionPane.showInputDialog(null, "What is the value?");
if(name.equals(userInput)){JOptionPane.showMessageDialog(null, "You are correct.");}

当我编译程序时,它抛出找不到符号"name"的错误。我是否必须以其他方式调用变量才能将其与用户输入进行比较,或者我在这里完全错了?

如果name是其他对象的成员,则需要指定哪个对象。

thingWithAName.name.equals(userInput)
假设

在工作文件夹中,您有以下两个类:

class IHaveNameVariable
{
    String name;
}
class IAccessNameVariable
{
    public void someMethod()
    {
        // Uncomment the code below
        // and it will compile.
        // IHaveNameVariable aRef = new IHaveNameVariable();
        String userInput = JOptionPane.showInputDialog(null, "What is the value?");
        if(/*aRef.*/name.equals(userInput))
        {
            JOptionPane.showMessageDialog(null, "You are correct.");
        }
    }
}

所以,这就是你访问另一个类的字段的方式。 如果字段是static,则无需使用 new 创建对象; 只需使用类名即可。

相关内容

  • 没有找到相关文章

最新更新