定义缺少的方法。 licenseNum创建为:(100000 * customID)+ licenseYear。 样本输出:狗牌照:77702014
这就是我所做的:
public void createLicenseNum() {
licenseNum = (licenseNum * 100000) + licenseYear;
return;
}
但这不正确。我哪里错了?
CallDogLicense。的java:32: DogLicense中的createLicenseNum()无法应用于(int) dog1.createLicenseNum(777);
来自文件DogLicense.java的代码
public class DogLicense {
private int licenseYear;
private int licenseNum;
public void setYear(int yearRegistered) {
licenseYear = yearRegistered;
return;
}
// FIXME: Write createLicenseNum()
/* Your solution goes here */
public void createLicenseNum() {
licenseNum = (licenseNum * 100000) + licenseYear;
return;
}
public int getLicenseNum() {
return licenseNum;
}
}
来自文件CallDogLicense.java的代码
public class CallDogLicense {
public static void main (String [] args) {
DogLicense dog1 = new DogLicense();
dog1.setYear(2014);
dog1.createLicenseNum(777);
System.out.println("Dog license: " + dog1.getLicenseNum());
return;
}
}
答案 0 :(得分:0)
您需要将customID
参数添加到您的方法中并在计算中使用它:
public void createLicenseNum(int customID) {
licenseNum = (customID * 100000) + licenseYear;
}
答案 1 :(得分:0)
你的方法没有任何论据,它不是javascript。你需要这样做:
public void createLicenseNum(int customId) {...
现在,如果你这样称呼它dog.createLicenseNum(500);
,那么在名为customId
的方法变量中将有一个值500
。
答案 2 :(得分:0)
您使用int
调用方法,但声明它不带参数。
public void createLicenseNum(int licenseNum) {
this.licenseNum = (licenseNum * 100000) + licenseYear;
return;
将解决问题。
仍然不是我们在Java中如何做到这一点。对于构造对象,您应该使用构造函数。
public class DogLicense {
private int licenseYear;
private int licenseNum;
public void setYear(int yearRegistered) {
licenseYear = yearRegistered;
return;
}
public DogLicense(int num, int year) {
licenseNum = (num* 100000) + year;
}
public int getLicenseNum() {
return licenseNum;
}
}
public class CallDogLicense {
public static void main (String [] args) {
DogLicense dog1 = new DogLicense(777, 2014);
System.out.println("Dog license: " + dog1.getLicenseNum());
return;
}
}
答案 3 :(得分:0)
我出错的地方是在createLicenseNum(int customID){
之前没有声明int在方法的参数中声明customID后,请确保在公式中包含该ID,因为将调用该整数。
最后,我被错误提示了,因为它只输入了return;最后,不要返回licenseNum;。