java - 我有一条有属性的狗,但是如果我给狗加上1年,尾巴长度和年龄需要改变,!体重
问题描述
我有一条狗,用户输入了一些属性,如果给狗加上1年,年龄和尾巴长度需要改变但重量保持不变,这个赋值中只能有六个公共方法。
前任。name = "Doggie"
, Breed = "dogBreed"
, age = 1
, weight = 2
, 我可以改变年龄,if getAge(1);
但尾巴仍然保持不变,甚至没有显示出来,我不知道如何得到它,因为它是双精度而不是整数,而且我得到tailLenght
0.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));
}
}
解决方案
推荐阅读
- generics - Java8 - 函数式接口、Lambda 和方法参考
- php - Apache 2.4.34 PHP FPM 重写问题
- javascript - 在 Visual Studio Code 中保存时避免自动缩进
- python - 如何使 bash 文件每 2 小时运行一次 python 脚本?
- java - 通过构造函数表达的不满足的依赖关系
- python - 使用 Regex + BeautifulSoup 抓取 XML 并存储到 Pandas
- python-3.x - 如何清除python中的pygame缓存事件
- javascript - Draft.js 中间文本占位符
- javascript - 移动菜单在点击时不会折叠
- android - 接收 SEND_ACTION,包括来自 Android 浏览器的图像