Java:基本类定义

时间:2016-10-05 09:58:40

标签: java class methods

定义缺少的方法。 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;
      }
    }

4 个答案:

答案 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)

Solved

我出错的地方是在createLicenseNum(int customID){

之前没有声明int

在方法的参数中声明customID后,请确保在公式中包含该ID,因为将调用该整数。

最后,我被错误提示了,因为它只输入了return;最后,不要返回licenseNum;。