面向对象-java控制台计算器简单实现[50行]
---恢复内容开始---
1 import java.util.*; 2 public class Test{ 3 public static void main(String [] args){ 4 String add="add",sub="dub",mul="mul",div="div"; 5 // [需求] 写一个面向对象的计算器程序; 6 CalcuImpl test = new CalcuImpl(); 7 while(true){ 8 System.out.println("please input two any numbers?And one operatot example[14 add 15]"); 9 test.Operator(new Scanner(System.in).nextDouble(),new Scanner(System.in).nextDouble(),new Scanner(System.in).next()); 10 } 11 } 12 } 13 interface Calculator{ 14 public void Operator(double num1,double num2,String operator); 15 } 16 interface Operator{ 17 public double add(double num1,double num2); 18 public double sub(double num1,double num2); 19 public double mul(double num1,double num2); 20 public double div(double num1,double num2); 21 } 22 class OperaotrImpl implements Operator{ 23 public double add(double num1,double num2){ 24 return num1+num2; 25 } 26 public double sub(double num1,double num2){ 27 return num1-num2; 28 } 29 public double mul(double num1,double num2){ 30 return num1*num2; 31 } 32 public double div(double num1,double num2){ 33 34 return num1/num2; 35 } 36 } 37 class CalcuImpl implements Calculator{ 38 final static String ADD ="add",SUB="sub",MUL="mul",DIV="div"; 39 OperaotrImpl o = new OperaotrImpl(); 40 public void Operator(double num1,double num2,String operator){ 41 switch(operator){ 42 case ADD:System.out.println(o.add(num1,num2)); 43 break; 44 case SUB:System.out.println(o.sub(num1,num2)); 45 break; 46 case MUL:System.out.println(o.mul(num1,num2)); 47 break; 48 case DIV:System.out.println(o.div(num1,num2)); 49 break; 50 } 51 } 52 }
View Code
有点基础的看看吧,都很简单,所以没写注释;
---恢复内容结束---
import java.util.*; public class Test{public static void main(String [] args){String add="add",sub="dub",mul="mul",div="div";// [需求] 写一个面向对象的计算器程序;CalcuImpl test = new CalcuImpl();while(true){System.out.println("please input two any numbers?And one operatot example[14 15 add]");test.Operator(new Scanner(System.in).nextDouble(),new Scanner(System.in).nextDouble(),new Scanner(System.in).next());}} } interface Calculator{public void Operator(double num1,double num2,String operator); } class Operator{public double add(double num1,double num2){return 0.0;}public double sub(double num1,double num2){return 0.0;}public double mul(double num1,double num2){return 0.0;}public double div(double num1,double num2){return 0.0;} } class OperaotrImpl extends Operator{// 继承可以减少代码 的冗余,需要哪个就 Override父类的方法;public double add(double num1,double num2){return num1+num2;}public double sub(double num1,double num2){return num1-num2;}public double mul(double num1,double num2){return num1*num2;}public double div(double num1,double num2){return num1/num2;} } class CalcuImpl implements Calculator{final static String ADD ="add",SUB="sub",MUL="mul",DIV="div";OperaotrImpl o = new OperaotrImpl();public void Operator(double num1,double num2,String operator){switch(operator){case ADD:System.out.println(o.add(num1,num2));break;case SUB:System.out.println(o.sub(num1,num2));break;case MUL:System.out.println(o.mul(num1,num2));break;case DIV:System.out.println(o.div(num1,num2));break;}} }
1 import java.util.*; 2 public class Test{ 3 public static void main(String [] args){ 4 String add="add",sub="dub",mul="mul",div="div"; 5 // [需求] 写一个面向对象的计算器程序; 6 CalcuImpl test = new CalcuImpl(); 7 while(true){ 8 System.out.println("please input two any numbers?And one operatot example[14 add 15]"); 9 test.Operator(new Scanner(System.in).nextDouble(),new Scanner(System.in).nextDouble(),new Scanner(System.in).next()); 10 } 11 } 12 } 13 interface Calculator{ 14 public void Operator(double num1,double num2,String operator); 15 } 16 interface Operator{ 17 public double add(double num1,double num2); 18 public double sub(double num1,double num2); 19 public double mul(double num1,double num2); 20 public double div(double num1,double num2); 21 } 22 class OperaotrImpl implements Operator{ 23 public double add(double num1,double num2){ 24 return num1+num2; 25 } 26 public double sub(double num1,double num2){ 27 return num1-num2; 28 } 29 public double mul(double num1,double num2){ 30 return num1*num2; 31 } 32 public double div(double num1,double num2){ 33 34 return num1/num2; 35 } 36 } 37 class CalcuImpl implements Calculator{ 38 final static String ADD ="add",SUB="sub",MUL="mul",DIV="div"; 39 OperaotrImpl o = new OperaotrImpl(); 40 public void Operator(double num1,double num2,String operator){ 41 switch(operator){ 42 case ADD:System.out.println(o.add(num1,num2)); 43 break; 44 case SUB:System.out.println(o.sub(num1,num2)); 45 break; 46 case MUL:System.out.println(o.mul(num1,num2)); 47 break; 48 case DIV:System.out.println(o.div(num1,num2)); 49 break; 50 } 51 } 52 }
View Code
有点基础的看看吧,都很简单,所以没写注释;
转载于:https://www.cnblogs.com/suowei/p/4875362.html
面向对象-java控制台计算器简单实现[50行]相关推荐
- java 控制台实现文本查看,行数可调,回车翻页
java 控制台实现文本查看,行数可调,回车翻页 实现如下: public static void main(String[] args){FileInputStream fileInputStrea ...
- 安卓(java)计算器简单实现
博主q q 656358805 欢迎线上交流! 以下两图是计算器的结果展示: 好了, ...
- java如何实现群聊,用Java控制台实现简单的群聊天室
需求分析: 实现简单的群聊,需要用到Java的Socket(套接字)和ServerSocket(服务器端套接字)两个类.当客户端(Socket)发送信息到固定的服务器(ServerSocket)的地址 ...
- java使用xquery_java – 简单的命令行xquery
我正在尝试从linux shell中找到一个简单的cli命令来执行xquery.我想要的是避免我需要安装的外部依赖(使用fedora 18). 我已经找到的是我可以通过yum安装的saxon和xqil ...
- python简单的爬虫教程中召唤小海龟_Python爬虫入门小练习之简单的50行(一)
HI 最近得空,小看了一下python爬虫方面的资料,于是就打算把笔记和代码练习整理成文章分享给大家. 一.先来认识一下啥玩意叫爬虫吧 爬虫的目的:数据 1.企业内部数据 由企业内部服务器产生的数据 ...
- Java控制台游戏~600行代码实现打怪小游戏
Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...
- linux控制台单人五子棋简书,Java控制台版五子棋的简单实现方法
这篇文章主要给大家介绍了关于Java控制台版五子棋的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设计一个10*1 ...
- 用java编写一个简单计算器
java 采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt. ...
- JAVA编写的简单计算器程序
系列文章目录 文章目录 系列文章目录 前言 一.JAVA编写的简单计算器程序 前言 链接:https://pan.baidu.com/s/1oPJRIbwxcXgewZ_KZaWzTg 提取码:egy ...
- python实现50行代码_50行代码实现python计算器主要功能
实现功能:计算带有括号和四则运算的式子 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 基本思路:使用正则表达式提取出每一层小括 ...
最新文章
- 【设计模式】享元模式 简介 ( 定义 | 对象池 | 内部状态 | 外部状态 | 适用场景 | 相关角色 )
- android retrofit 2.0,android – Retrofit 2.0 OnFailure – 原始响应
- Script Lab 续:为 Officejs 开发配置 VSCode 环境
- Use JPA API
- 5大领先的商业智能解决方案,国产上榜!
- Django_基本配置保存
- WORD中如何转换符号的全角半角
- java实现微信与支付宝支付使用同一二维码
- 唐宇迪ocr检测图片
- 线性(欧拉)筛法筛素数表
- 初学者Apache Solr教程
- k2路由器改无线打印服务器,修改斐讯K2、K3路由器的无线密码【图解】
- js数组按中文拼音排序_前端面试题二(JS进阶篇)
- python捕获屏幕的标准库_Python标准库urllib2的使用和获取网站状态举例
- 正则表达式匹配书名号内容
- 无线自动连接的二维码规则
- svn 423 Locked
- 一文读懂,WMS仓库管理系统模块功能
- 关注IT精英:微利时代如何赚大钱 (转载)
- 沸点大前端组正式成员面试小问题