Java,“变量名”不能解析为变量

我使用Java使用Eclipse,出现此错误:


"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;

    }

}

是什么导致此错误消息?


肥皂起泡泡
浏览 1334回答 3
3回答

拉莫斯之舞

如果查看变量“ hoursWorked”的范围,您将看到它是该类的成员(声明为private int)您遇到麻烦的两个变量将作为参数传递给构造函数。该错误消息是因为“小时数”超出了设置器的范围。

桃花长相依

public void setHoursWorked(){&nbsp; &nbsp; hoursWorked = hours;}您尚未hours在该方法中定义。hours没有作为参数传递,没有声明为变量,也没有用作类成员,因此您会收到该错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java