模擬收音機播放音樂--菜鳥之路day01

 /**
 * 模擬收音機播放音樂
* 
*   電池: 
*   型號(#1 #5 #7)
*   (收音機只能放入五號電池)
*   電量:(初始化的時候,電量爲5,滿電爲10)
*   
*   充電
*   
*   
*   收音機
*   電池(每播放一首歌,消耗一格電量)
*   開關狀態
    
*   開機
*   關機
*   裝電池
*   
*   放音樂(判斷是否裝了電池?是否開了開關?電池是否有電? -->播放音樂,每播放一首音樂,消耗一格電量,
*   每首播放完後,提示是否繼續播放;若是說播放完了,電量不足的時候,提示(一、充電二、換電池、三、關機))
* 
 */
public class RadioMusic {
   
   //定義收音機 開關狀態 默認關機
   String radioPlay ="關機";
   
   
   Battery enginer =new Battery();
   Scanner input =new Scanner(System.in);
   //定義 開機方法
   public void turnOn()
   {
    radioPlay="開機";
    System.out.println("已開機-----------");
   }
   //定義 關機方法
   public  void turnOff()
   {
    radioPlay="關機";
    System.out.println("已關機-----------");
    System.exit(0);
   }
   //定義 裝電池方法
   public int LoadingBattery(Battery battery)
   {
    System.out.println("選擇放入的電池型號:一、#1 二、#5 三、#7");
    //定義 電池型號的接收值
    int type =input.nextInt();
    switch(type)
    {
    case 1:
     enginer.batteryType=1;
     System.out.println("放入電池"+enginer.batteryType+"號");
     break;
    case 2:
     enginer.batteryType=5;
     System.out.println("放入電池"+enginer.batteryType+"號");
     enginer.batteryPower=5;
     break;
    case 3:
     enginer.batteryType=7;
     System.out.println("放入電池"+enginer.batteryType+"號");
     break;
     default :
      System.out.println("選擇有誤,請從新選擇!");
      break;
    }
    return enginer.batteryType;
   }
   //定義 放音樂方法
   public void playMusic()
   { 
       //先打印收音機的開始狀態
       System.out.println("裝了"+enginer.batteryType+"號電池"+",收音機狀態:"+radioPlay+",有電量:"+enginer.batteryPower);
       System.out.println("開始播放音樂---------");
       //定義個 曲數計數 變量
       int count = 0;
       // 當收音機有電量時候才進行播放循環
       while(enginer.batteryPower>0)
       {
        count++;
        // 播放一次 電量減一
        enginer.batteryPower--;
        while(true)
        {
        System.out.println("第"+count+"首歌播放完畢,是否要繼續播放? Y/N");
        System.out.println("剩餘電量:"+enginer.batteryPower);
        String choice =input.next();
        if(choice == "Y")
        {
         continue;// 繼續播放 繼續當前循環
        }else
        {
         break; //退出當前循環
        }
        }
       }
       System.out.println("播放完,電量不足!請選擇:");
       System.out.println("提示(一、充電二、換電池、三、關機)");
       int choice1 =input.nextInt();
       switch (choice1)
       {
       case 1:
        enginer.batteryPower=enginer.batteryChange(enginer.batteryPower);
        break;
       case 2:
        radioPlay="關機";
        System.out.println("收音機狀態:"+radioPlay);
        LoadingBattery(enginer);
        break;
       case 3:
        turnOff();
        break;
        default :
         System.out.println("指令不正確,請從新輸入!");
         break;
       }
      
   }
/*
 * 主方法 輸出測試
 */
   public static void main(String[] args)
   {
    //實例化 收音機對象
    RadioMusic rm=new RadioMusic();
    //實例化 電池對象
    Battery bt =new Battery();
    bt.batteryType=rm.LoadingBattery(bt);
    while(true)
    {
     //判斷收音機電池是不是 #5
     if(bt.batteryType == 5)
     {
      //判斷收音機的狀態
      if(rm.radioPlay.equals("關機"))
      {
       rm.turnOn();
       //判斷收音機的電量
       if(bt.batteryPower >0)
       {
        rm.playMusic();
       }
      }
      else
      {
       if(bt.batteryPower >0)
       {
        rm.playMusic();
       }
      }
     }
     else
     {
      System.out.println("電池型號錯誤!請從新插入電池:");
      bt.batteryType=rm.LoadingBattery(bt);
     }
    }
   }
}

/*
 * 電池: 
*   型號(#1 #5 #7)
*   (收音機只能放入五號電池)
*   電量:(初始化的時候,電量爲5,滿電爲10)
 */
public class Battery {
   
   //電池型號
   int batteryType;
   //電池電量
   int batteryPower =5;
   
   
   //定義 充電的方法
   public int batteryChange(int batteryPower)
   {
    System.out.println("正在充電-------");
    System.out.println("充電已滿!");
    return 10;
    
   }
}
相關文章
相關標籤/搜索