如何在java中更新/更改示例变量((初级)

twh00eeo  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(575)

我是java新手,我正在尝试创建一个方法来更新对象的示例变量age。我正在编译代码,但是我没有看到年龄值的变化。此代码是赋值的一部分,因此我无法更改构造函数。我编写的更新年龄的方法(不起作用)如下所示。我的全部代码如下所示。我也很好奇是否有一种方法可以只更新/更改我的一个对象,但是在我这样做之前,我需要一种方法来处理这两个对象。如果您能帮助正确编写此方法,我们将不胜感激!

  1. public void setnewAge(int age) {
  2. dogAge += 1;
  3. this.dogAge = dogAge;
  4. }

下面是我的全部代码(包括我为更新age而编写的方法)。

  1. public class Dog {
  2. //Instance Varibles
  3. private String dogName;
  4. private int dogAge;
  5. private int dogWeight;
  6. //Two Contructors (One Completely Empty)
  7. public Dog() {
  8. }
  9. public Dog(String name, int age, int weight){
  10. dogName = name;
  11. dogAge = age;
  12. dogWeight = weight;
  13. }
  14. //Getters
  15. public String getName() { return dogName;}
  16. public int getAge() { return dogAge;}
  17. public int getWeight() { return dogWeight;}
  18. //Setters
  19. public void setName(String theName) { dogName = theName;}
  20. public void setAge(int theAge) {dogAge = theAge;}
  21. public void setWeight(int theWeight) {dogWeight = theWeight;}
  22. //to(String) method
  23. public String toString() {
  24. return "The dogs's name is " + getName() + ", the dogs's age is " +
  25. getAge() + ", " + "\n" + "the dogs's weight is " + getWeight() + ".";
  26. }
  27. public void setnewAge(int age) {
  28. dogAge += 1;
  29. this.dogAge = dogAge;
  30. }
  31. //Main Method
  32. public static void main(String[] args) {
  33. Dog poodle = new Dog("Bob", 5, 26);
  34. System.out.println(poodle);
  35. Dog lab = new Dog();
  36. lab.setName("Steve");
  37. lab.setAge(8);
  38. lab.setWeight(43);
  39. System.out.println(lab);
  40. }
  41. }
cngwdvgl

cngwdvgl1#

正如tom所说,您需要实际调用main函数中的函数,否则将不会有任何更改,而且要优化setnewage函数的代码,请尝试以下操作:

  1. public void setnewAge() {
  2. this.dogAge = dogAge + 1;
  3. }

然后在主函数中调用setnewage(),然后打印年龄以查看结果。

  1. Dog poodle = new Dog("Bob", 5, 26);
  2. poodle.setnewAge() ;

相关问题