/**
* 模拟收音机播放音乐
*
* 电池:
* 型号(#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);
}
}
}
}
/*
* 电池:
* 型号(#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;
}
}
转载于:https://my.oschina.net/u/2563735/blog/550744