雨刷程序参考代码1
来源:互联网 发布:雅马哈 yas 107知乎 编辑:程序博客网 时间:2024/06/02 10:23
类图:
控制杆类:
public class Lever {protected int lever = 1;public Lever(){lever = 1;}public Lever(int lever){this.lever = lever;}public int getLever(){return lever;}public int leverUp(){if(lever < 4)lever++;return lever;}public int leverDown(){if(lever > 1)lever --;return lever;}}刻度盘类:
public class Dial {protected int dial = 1;public Dial(){dial = 1;}public Dial(int dial){this.dial = dial;}public int getDial(){return dial;}public int dialUp(){if(dial < 3)dial++;return dial;}public int dialDown(){if(dial > 1)dial --;return dial;}}雨刷类:
public class Brush {protected int speed = 0;public Brush(){speed = 0;}public Brush(int speed){this.speed = speed;}public int getSpeed(){return speed;}public void setSpeed(int speed){this.speed = speed;}}
中介类:
public class Agent {protected Lever l;protected Dial d;protected Brush b;public Agent(){l = new Lever();d = new Dial();b = new Brush();}public int getLever(){return l.getLever();}public int getDial(){return d.getDial();}public void doSpeed(){int speed = 0;switch(getLever()){case 1:speed = 0;break;case 2:switch(getDial()){case 1: speed = 4;break;case 2: speed = 6;break;case 3: speed = 12;break;}break;case 3: speed = 30;break;case 4: speed = 60;break;}b.setSpeed(speed);}public void show(){String slever = "";switch(l.getLever()){case 1: slever = "停止";break;case 2: slever = "间歇";break;case 3: slever = "低速";break;case 4: slever = "高速";break;}System.out.println("控制杆的档位为:" + slever );System.out.println("刻度盘的刻度为:" + d.getDial());System.out.println("雨刷的速度为:" + b.getSpeed());}}Client类:
import java.util.Scanner;public class Brush_Test {public static void menu(){System.out.println("==================Please choose operation============");System.out.println("\t==========1:Lever Up===========");System.out.println("\t==========2:Lever Down=========");System.out.println("\t==========3:Dial Up============");System.out.println("\t==========4:Dial Down==========");System.out.println("\t==========0:Quit===============");System.out.println("=====================================================");System.out.println("Input the number(0~4):");}public static void main(String[] args){Agent agent = new Agent();Scanner input = new Scanner(System.in);int choice = 0;menu();while(true){choice = input.nextInt();if(choice == 0)break;switch(choice){case 1:if(agent.getLever() >= 4){System.out.println("控制杆已经处于高速档位,不能再升档!");menu();}else{agent.l.leverUp();}break;case 2:if(agent.getLever() <= 1){System.out.println("控制杆已经处于停止档位,不能再降档!");menu();}else{agent.l.leverDown();}break;case 3:if(agent.getDial() >= 3){System.out.println("刻度盘已经处于最高刻度,不能再升档!");menu();}else{agent.d.dialUp();}break;case 4:if(agent.getDial() <= 1){System.out.println("刻度盘已经处于最低刻度,不能再降档!");menu();}else{agent.d.dialUp();}break;}agent.doSpeed();agent.show();}}}
1 0
- 雨刷程序参考代码1
- 雨刷程序参考代码2
- PHP参考代码1
- 代码参考
- 代码参考
- ABAP--批量建立员工照片关联程序参考代码
- ABAP--批量建立员工照片关联程序参考代码
- QQ2007密码盗取程序介绍(参考部分网上代码)
- ABAP--批量建立员工照片关联程序参考代码
- 动态修改程序自身代码的参考code
- 基于Python编写的Windows服务程序参考代码
- 微笑就像雨刷
- USACO 5.1.1 凸包参考程序
- USACO 5.1.1 凸包参考程序
- 剑指Offer--编程题参考代码(1)
- USACO5.1凸包参考代码
- 多点触摸参考程序
- VC:剪切板参考程序
- Android 写log 到文件中
- 160412岭回归笔记
- 【黑马Android】(05)短信/查询和添加/内容观察者使用/子线程网络图片查看器和Handler消息处理器/html查看器/使用HttpURLConnection采用Post方式请求数据/开源项目
- android(NDK+JNI)---JNI数据类型
- 03. command积累
- 雨刷程序参考代码1
- 尚未在 Web 服务器上注册ASP.NET 4.5。安装VS2015后的问题
- [Quartz] Job 详解
- Cocos2d-JS中标签和菜单
- Spinner的简单功能和用法
- IBM InfoSphere DataStage 8.1 DataStage Job 开发详解
- 数组实现队列
- java多线程那些事之并发集合
- 深入Java集合学习系列:HashMap的实现原理