0

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

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

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

4

2 回答 2

1

如果name是不同对象的成员,那么您将需要指定哪个对象。

thingWithAName.name.equals(userInput)
于 2012-04-29T23:41:23.847 回答
0

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

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;只需使用类名。

于 2012-04-30T00:08:15.490 回答