我从我的代码中收到以下错误消息,
找不到符号 - 变量jobName
我们必须使用两个简单的字段Job name和job length创建一个名为Job的类。
我不明白为什么我收到此错误消息。代码如下。提前感谢您的帮助。
import java.util.ArrayList;
public class Job
{
// instance variables - replace the example below with your own
private String name;
private int duration;
private boolean isComplete;
/**
* Constructor for objects of class Job
*/
public Job(String name, int duration)
{
// initialise instance variables
jobName = name;
jobDuration = duration;
}
/**
* Accessor method for job name.
*
* @param y a sample parameter for a method
* @return value of job.
*/
public String getName() {
{
// put your code here
return jobName;
}
}
/**
* Accessor method for job duration.
*
* @param y a sample parameter for a method
* @return value of job duration.
*
*/
public int getDuration() {
{
return jobDuration;
}
}
/**
* Run method which prints.
*
* @param y a sample parameter for a method.
* @return
*/
public void run(String name, int duration) {
if (isComplete)
{
System.out.print("JOB COMPLETE" + jobName);
}
}
}
答案 0 :(得分:1)
而不是jobName
和jobDuration
,您需要说this.name
和this.duration
,因为这就是这些字段的名称。
答案 1 :(得分:0)
您将私人数据成员命名为“name”,但您仍将其称为“jobName”。
答案 2 :(得分:0)
您的构造函数正在使用名为jobName
和jobDuration
的新变量,该变量未定义。纠正如下:
/**
* Constructor for objects of class Job
*/
public Job(String name, int duration){
// initialise instance variables
name = name;
duration = duration;
}
最好在参数和成员变量中使用不同的名称,或者在成员变量之前使用this
,例如。
/**
* Constructor for objects of class Job
*/
public Job(String aName, int aDuration) {
// initialise instance variables
name = aName;
duration = aDuration;
}
或
/**
* Constructor for objects of class Job
*/
public Job(String name, int duration) {
// initialise instance variables
this.name = name;
this.duration = duration;
}
答案 3 :(得分:0)
更改此
private String name;
private int duration;
到此:
private String jobName;
private int jobDuration;
答案 4 :(得分:0)
因为您的班级中没有jobName
变量,我认为您已将其命名为name
答案 5 :(得分:0)
你已经给了,
private String name;
private int duration;
您正在使用未定义的jobName, jobDuration
。请声明这些或使用,
this.name = name;
this.duration = duration;