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());
}
}
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方法