首页 > 解决方案 > 我有一条有属性的狗,但是如果我给狗加上1年,尾巴长度和年龄需要改变,!体重

问题描述

我有一条狗,用户输入了一些属性,如果给狗加上1年,年龄和尾巴长度需要改变但重量保持不变,这个赋值中只能有六个公共方法。

前任。name = "Doggie", Breed = "dogBreed", age = 1, weight = 2, 我可以改变年龄,if getAge(1);但尾巴仍然保持不变,甚至没有显示出来,我不知道如何得到它,因为它是双精度而不是整数,而且我得到tailLenght0.0,如果我将其更改tailLenght = getAge(newAge) * dogWeight)为,则可以解决此问题,tailLenght = dogBirth * dogWeight;但是将年龄从 1 更改为 2 后我没有得到想要的结果。我知道该怎么做。

public class Dog {

    private String dogName;
    private String dogBreed;
    private int dogBirth;
    private double dogWeight;
    private double tailLenght;
    private int newAge;

    public Dog(String dogName, String dogBreed, int dogBirth, double dogWeight) {
        this.dogBirth = dogBirth;
        this.dogBreed = dogBreed;
        this.dogName = dogName;
        this.dogWeight = dogWeight;
    }

    // get name from DogTest
    public String getName() {
        return dogName;
    }

    // get breed from Dogtest
    public String getBreed() {
        return dogBreed;
    }

    public int getAge() {
        return dogBirth;
    }

    // get weight from DogTest
    public double getWeight() {
        return dogWeight;
    }

    // New age if added years
    public int getAge(int years) {
        newAge = dogBirth + years;

        return newAge;

    }

    // Check tail Length
    public double getTailLength(double i) {

        if (dogBreed.equalsIgnoreCase("tax") || dogBreed.equalsIgnoreCase("dachshund")) {
            tailLenght = 3.7;
        } else {
            tailLenght = (getAge(newAge) * dogWeight) / 10f;
        }
        return tailLenght;
    }

    //Whats to be shown
    public String toString() {
        return String.format("name=%s breed=%s weight=%.1fkg age=%d taillenght=%.1" + "f", dogName, dogBreed, dogWeight,
                dogBirth, getTailLength(newAge));
    }

}

标签: javaclass

解决方案


推荐阅读