/*
* 电池:
* 型号(#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;
}
}
/**
* 模拟收音机播放音乐
*
* 电池:
* 型号(#1 #5 #7)
* (收音机只能放入五号电池)
* 电量:(初始化的时候,电量为5,满电为10)
*
* 充电
*
*
* 收音机
* 电池(每播放一首歌,消耗一格电量)
* 开关状态
- 开机
- 关机
- 装电池
-
- 放音乐(判断是否装了电池?是否开了开关?电池是否有电? –>播放音乐,每播放一首音乐,消耗一格电量,
- 每首播放完后,提示是否继续播放;如果说播放完了,电量不足的时候,提示(1、充电2、换电池、3、关机))
*/
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、#1 2、#5 3、#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("提示(1、充电2、换电池、3、关机)"); 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);
}
}
}
}
- 主方法 输出测试