简单工厂模式 1.什么是简单工厂模式? 给定一种输入,通过工厂实例出其合适的对象,称为简单工厂模式 2.逐步引入工厂模式 2.1小文去面试,公司要求用任意一种面对对象的语言实现了一个计算器程序,功能只是简单的两个数相加或者减,乘,除 他的代码如下 小文等了很久都没有接到公司的通知,小文的哥哥大文看了 ...
分类:
编程语言 时间:
2017-06-27 00:55:00
阅读次数:
219
1、定义抽象主题接口,假设需实现一个计算的类Math、完成加、减、乘、除功能,如下所示: 2、主题类,算术类,实现抽象接口。 3、代理类 4、测试运行 5.总结: 静态代理的优点:解决了“开闭原则(OCP)”的问题,解决了“依赖倒转(DIP)”的问题,解决了“单一职责(SRP)”的问题。 静态代理的 ...
分类:
编程语言 时间:
2017-06-26 11:36:39
阅读次数:
178
优先级越高的运算符,会优先得到执行 优先级相同的运算符,从左到右依次执行 使用多个运算符是常见场景 赋值运算:变量=表达式,先计算表达式的结果, "="永远最后运行 数字运算:按数学中的运算顺序,先括号,再乘除求余,再加减。 逻辑运算:将&&和||符号的两端的表达式看作一个整体(返回为b... ...
首先是Calculator计算器类 接下来是Execute运行类 代码还是很简单的,主要有两个列表,一个列表存数值,一个列表存符号,如果符号是乘法或者除法,则把当前的数值和数值列表最后的数值相乘或相除,然后覆盖到数字列表的最后,如果不是,则存入数值列表的最后,符号列表添加当前的减法或者乘法 ...
分类:
其他好文 时间:
2017-06-24 22:54:12
阅读次数:
220
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解题思路:例如5+17转化成二进制即为101+10001 1)不考虑进位101 + 10001 = 10100 2)进位1+1 = 10 3)相加10100+10 = 10110 =22 所以分别算不考虑进位和 ...
分类:
其他好文 时间:
2017-06-24 13:19:17
阅读次数:
158
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解题思路 求两个数的和在不能使用加减乘除的条件下,可以使用位运算。位运算是针对二进制的,我们以5和17这两个数字为例。5的二进制是101,17的二进制是10001。我们把计算分成三步:第一步各位相加但不计进位, ...
分类:
其他好文 时间:
2017-06-20 22:17:46
阅读次数:
117
比如:怎样实现用线性链表表示多项式的加法运算? 依据一元多项式相加的运算规则:对于两个一元多项式中全部指数同样的项。相应系数相加,若其和不为零,则构成“和多项式”中的一项。对于两个一元多项式中全部指数不同样的项,则分别复抄到“和多项式”中去。 #include <stdio.h> #include ...
分类:
其他好文 时间:
2017-06-19 15:20:20
阅读次数:
156
1.创建运算的接口 public interface Operation { //提供计算两个数字的方法 double getResult(double num1,double num2); } 2.创建对应的加减乘除四个实现类 public class Addition implements Op ...
分类:
其他好文 时间:
2017-06-17 10:06:09
阅读次数:
256
LESS 的 operation 是 特性,其实简单的讲,就是对数值型的 value(数字、颜色、变量等)进行加减乘除四则运算。 例: 1 2 3 4 5 @init: #111111; @transition: @init*2; .switchColor { color: @transition; ...
分类:
其他好文 时间:
2017-06-16 12:07:26
阅读次数:
131
// BigDecimal是处理double精度问题的对象 BigDecimal b1 = new BigDecimal("10"); BigDecimal b2 = new BigDecimal("10"); // 结果 BigDecimal result = null; // 加 result ...
分类:
其他好文 时间:
2017-06-12 20:35:25
阅读次数:
109