Java, "Variable name"无法解析为变量

标签 java variables scope

我使用 Eclipse 和 Java,我得到这个错误:

"Variable name" cannot be resolved to a variable.

使用这个 Java 程序:

public class SalCal {
    private int hoursWorked;
    public SalCal(String name, int hours, double hoursRate) {
        nameEmployee = name;
        hoursWorked = hours;
        ratePrHour = hoursRate;
    }
    public void setHoursWorked() {
        hoursWorked = hours;     //ERROR HERE, hours cannot be resolved to a type
    }
    public double calculateSalary() {
        if (hoursWorked <= 40) {
            totalSalary = ratePrHour * (double) hoursWorked;
        }
        if (hoursWorked > 40) {
            salaryAfter40 = hoursWorked - 40;
            totalSalary = (ratePrHour * 40)
                + (ratePrHour * 1.5 * salaryAfter40);
        }
        return totalSalary;
    }
}

导致此错误消息的原因是什么?

最佳答案

如果您查看变量“hoursWorked”的范围,您会发现它是该类的成员(声明为 private int)

您遇到问题的两个变量作为参数传递给构造函数。

错误消息是因为“小时”超出了 setter 的范围。

关于Java, "Variable name"无法解析为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588784/

相关文章:

java - 如何修复 ClassCastExecption 和 NullPointerException?

java - 使用发布请求在 Google 日历中创建新事件

java - 如何通过另一个线程修改 UI 线程中的变量

qt - 如何组合/嵌套 qmake 规范变量?

ruby - 模块如何解析常量的作用域?

javascript - 以下 JavaScript 构造是否称为闭包?

c++ - 局部作用域对象按什么顺序被破坏?

java - 尝试向 JavaFX 中的 VBox 添加按钮

bash - 将两个值从 awk 传递到 bash

PHP 5.3 : How on Earth is this Variable Undefined?