学不会编程的小男孩 2016-12-08 01:42 采纳率: 90.9%
浏览 978
已采纳

有很多问题(问题在文中),希望有人帮忙解答。谢谢大家

1.如何实现输入一个数判断健康值? 2.对于private类型的变量,如果要改变变量的值,是在set中改还是在下面的dog.setLove(16)这里改?
package study;

public class Dogs {
private String strain = "拉布拉多犬";
private int health = 100;
private int love = 0;

public String getStrain() {
    return strain;
}

public void setStrain(String strain) {
    this.strain = strain;
}

public int getLove() {
    return love;
}

public void setLove(int love) {
    this.love = 50;
}

public int getHealth() {
    return health;
}

//如何实现从键盘输入一个数
public void setHealth(int health){
    if(health > 100 || health < 0) {
        this.health = 40;
        System.out.println("健康值应该在0——100之间,默认值是40");
    }else
        this.health = health;
}

public static void main(String[] args) {
    Dogs dog = new Dogs();

    dog.getHealth();
    System.out.println(dog.getHealth());

    dog.setLove(16);
    System.out.println(dog.getLove());

    dog.setStrain("大黄狗");
    System.out.println(dog.getStrain());
}

}

  • 写回答

3条回答 默认 最新

  • Book1346 2016-12-08 01:54
    关注

    1.

    //输入一个健康值
     Scanner scan = new Scanner(System.in);
     int health = scan.nextLine();
     //将健康值set进入你实例化的dog里。
     //因为你在setHealth()方法中有判断了,所直接set进去就可以了,会自行判断,
     //超出范围会执行你的system.out,并且把health改为40,否则正常赋值
     dog.setHealth(health);
     System.out.println(dog.getHealth());
    

    2.对于第二个问题,private类型的变量,在定义的实体类中,可以直接赋值与更改,就是在你的dog这个Class类中可以直接调用。
    private是Java中对于类的属性的封装包装,限制了其他类方法对其的直接调用,所以再main主程序,或者使用其他类的程序下,
    是不能直接调用private修饰的属性的。所以需要调用提供有public修饰的set方法进行设置,同理想要获取那个值,则要调用public修饰的get方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?