這道題其實考慮的就是個面向對象思想。
首先,布什是個人,也是個對象,妳關註的他的屬性只有他的雞蛋數,雞蛋數又包括好蛋數和壞蛋數,所以,定義兩個變量好蛋和壞蛋作為屬性。
然後,布什是某個特定的人,不需要實例化,所以,全部加上static,因為我們的題目裏體現的就是壹個單獨的具體的人,而不是某個new Bush()來創造出來的新人。
再,布什作為壹個人,應該能完成壹些事情,這些事情即是動作,動作即是方法、函數。他能買雞蛋,所以我們定義壹個buyEgg()方法,他能處理雞蛋,所以我們定義壹個deal()方法,這都是我們能控制他做的,所以兩個方法是public公用 的,我們可以調用。
同時,布什具有他自己的個性,他要怎麽吃怎麽退,是他自己的事情。所以我們寫兩個私有private方法,壹個是eat(),壹個是turnBack()。我們不能調用,只能由他自己處理。
public class Bush{
private static int goodEgg=0;
private static int badEgg=0;
//買雞蛋
public static void buyEgg(int goodEgg,int badEgg){
Bush.goodEgg+=goodEgg;
Bush.badEgg+=badEgg;
System.out.println("布什買了"+(goodEgg+badEgg)+"個雞蛋。");
}
public static void setGoodEgg(int egg){
Bush.goodEgg=egg;
}
public static void setBadEgg(int badEgg){
Bush.badEgg=badEgg;
}
public static int getGoodEgg() {
return goodEgg;
}
public static int getBadEgg() {
return badEgg;
}
public static void showTotalEgg(){
System.out.println("布什有"+(goodEgg+badEgg)+"個雞蛋。");
}
private static void eat(){
System.out.println("布什吃掉了"+(goodEgg+badEgg)+"個雞蛋");
clear();
}
private static void turnBack(){
System.out.println("布什退掉了"+(goodEgg+badEgg)+"個雞蛋");
clear();
}
private static void clear(){
goodEgg=0;
badEgg=0;
}
public static void deal(){
if(badEgg<5){
System.out.println("布什發現了"+badEgg+"個壞雞蛋,他決定全部吃掉。");
eat();
}else if(badEgg>5){
System.out.println("布什發現了"+badEgg+"個壞雞蛋,他決定退貨了。");
turnBack();
}else{
System.out.println("布什發現了正好"+badEgg+"個壞雞蛋,他也不知道該怎麽辦了。");
}
}
//測試
public static void main(String[] args){
Bush.buyEgg(10, 3);//買雞蛋
Bush.buyEgg(3, 1);//再買壹次
Bush.showTotalEgg();//數雞蛋
Bush.deal();//處理雞蛋
}
}