qq_35241329
任何时候努力都不会迟
采纳率100%
2020-05-21 14:34

小白求问,有没有大佬看看这个错哪了

已采纳

public class Solution {

public static void main(String[] args) {
    Person person = new Person();
   System.out.println("年龄:" + age);
    person.adjustAge(age);
    System.out.println("调整后的年龄:" + age);
}

public static class Person {
    public int age = 20;

    public void adjustAge(int age) {
        age = age + 20;

        System.out.println("adjustAge() 中的年龄为 " + age);
    }
}

}
要调用一次adjustAge方法,最后输出年龄是40

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • ZhouSiAn ZhouSiAn 11月前

    首先你main函数里未声明age变量。其次在调用person.adjustAge时传入的变量是在main函数中声明的变量,即实参。最后调用person.adjustAge没有返回参数值。修改后的代码如下,应该符合你的要求。
    public static void main(String[] args) {
    Person person = new Person();
    int age = 20;
    System.out.println("年龄:" + age);
    age = person.adjustAge(age);
    System.out.println("调整后的年龄:" + age);
    System.out.println("调整后person的年龄:" + person.age);
    }

    public class Person {
    public int age = 20;
    
    public int adjustAge(int age) {
        this.age = age + 20;
    
        System.out.println("adjustAge() 中传入的年龄为 " + age);
        return this.age;
    }
    

    }

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 11月前

    问题解决的话,请点采纳

    关键是你的成员变量叫age,参数也叫age,要么用this.age和age区分,要么换名字,换名字比较好

    public class Solution {
    public static void main(String[] args) {
        Person person = new Person();
       System.out.println("年龄:" + person.age);
        person.adjustAge(age);
        System.out.println("调整后的年龄:" + person.age);
    }
    
    public class Person {
        public int age = 20;
    
        public void adjustAge(int _age) {
            age = age + _age;
    
            System.out.println("adjustAge() 中的年龄为 " + age);
        }
    }
    }
    
    点赞 评论 复制链接分享

为你推荐