【问题标题】:"cannot find symbol" errors, need assisstance [duplicate]“找不到符号”错误,需要帮助 [重复]
【发布时间】:2013-02-03 17:53:03
【问题描述】:

我在尝试编译这个 java 程序时遇到了一些“找不到符号”的错误,我对出了什么问题感到困惑。这是代码示例...

public Employee(String empName, double hourlyRate, double regHours, double grossPay, double regPay, double netPay, double taxes, double otHours, double otPay, double totHours) {
        setEmpName(empName);
        setHourlyRate(hourlyRate);
        setRegHours(regHours);
        setGrossPay(grossPay);
        setRegPay(regPay);
        setNetPay(netPay);
        setTaxes(taxes);
        setOtHours(otHours);
        setOtPay(otPay);
        setTotHours(totHours);
    }

    //Set access methods
    public void setEmpName( String newEmpName ) {
        empName = newEmpName;

public String getEmpName() {
        return empName;
    }

我在 set 和 get 方法上都遇到了错误,但无法弄清楚我做错了什么。

编辑:这是编译器为我显示的每一行的内容......在两个 empName 语句上都有一个指向小写“e”的小箭头。

错误:找不到符号 empName = newEmpName;

错误:找不到符号 返回员工姓名;

【问题讨论】:

  • 首先阅读错误信息。你今天不是第二次问一个关于错误的问题而不说错误是什么吗?
  • 我实际上理解错误消息的含义,但是我看不到此代码中区分大小写的错误在哪里,也看不到类中未定义 var 的位置。所以我不知道为什么我会收到错误。我说的正是错误是什么......它在标题和帖子中说明。
  • 编译器错误不仅仅是“你有一些找不到符号错误”。它说找不到哪个符号,以及在文件的哪一行检测到错误。您没有发布该信息,也没有发布整个代码(您甚至发布了不是真实的代码)。错误消息很重要。复制并粘贴它,而不是重新输入它。您的代码也是如此。

标签: java methods constructor


【解决方案1】:

您似乎忘记声明您的班级成员:

public class Employee {
    private String empName;
    private double hourlyRate;
    // ... etc...

}

【讨论】:

  • 我的代码中实际上有大括号,当我尝试粘贴它时它没有复制。在 emp 名称后面还有更多 set 实例的列表,我只是没有将它们全部列出,它们都得到相同的错误。而且我不能使用 IDE,在大学上 Java 课程,他们说我们只能使用文本编辑器 :(
  • 然后发布错误,否则我们怎么能找出问题所在,当有像 Netbeans 和 Eclipse 这样的免费 IDE 时,我几乎看不出在文本编辑器中编写 Java 代码的意义。另外,我看不出你们的老师会如何区分。
  • 不是“找不到符号”的错误吗?我把它贴在两个不同的地方。还是您的意思是代码中的错误在哪里?我将使用该信息编辑我的帖子,抱歉,我认为这不会有所作为。
  • 只发布整个异常堆栈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 2011-09-24
  • 2017-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多