创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
2014-08-11 22:15
1236 查看
.h文件
.m文件
初始化方法等都是初级的 并没有涉及内存管理
#import <Foundation/Foundation.h> @interface Fraction : NSObject @property (nonatomic) NSInteger numerator;//分子 @property (nonatomic) NSInteger denominator;//分母 -(id)initWithNumerator:(NSInteger)numerator denominator:(NSInteger)denominator;//初始化 -(void)reductionOfFraction;//约分 -(void)add:(Fraction*)fraction;//相加 -(void)subtract:(Fraction*)fraction;//相减 -(void)multiply:(Fraction*)fraction;//相乘 -(void)divide:(Fraction*)fraction;//相除 -(NSInteger)compare:(Fraction*)fraction;//比较 @end
.m文件
初始化方法等都是初级的 并没有涉及内存管理
#import "Fraction.h" @implementation Fraction -(id)initWithNumerator:(NSInteger)numerator denominator:(NSInteger)denominator{ self = [super init]; if (self) { _numerator = numerator; _denominator = denominator; } return self; } -(void)reductionOfFraction{ NSInteger a = self.numerator; NSInteger b = self.denominator; NSInteger c = 0; while (b != 0) { c = a % b; a = b; b = c; } NSLog(@"%ld/%ld",self .numerator/a,self. denominator/a); }//约分 -(void)add:(Fraction*)fraction{ Fraction *fra = [[Fraction alloc]init]; fra.numerator = (self.numerator*fraction.denominator) +(fraction.numerator*self.denominator); fra.denominator = self.denominator*fraction.denominator; [fra reductionOfFraction]; }//相加 -(void)subtract:(Fraction*)fraction{ Fraction *fra = [[Fraction alloc]init]; fra.numerator = (self.numerator*fraction.denominator) - (fraction.numerator*self.denominator); fra.denominator = self.denominator*fraction.denominator; [fra reductionOfFraction]; }//相减 -(void)multiply:(Fraction*)fraction{ Fraction *fra = [[Fraction alloc]init]; fra.numerator = self.numerator*fraction.denominator; fra.denominator = self.denominator*fraction.numerator; [fra reductionOfFraction]; }//相乘 -(void)divide:(Fraction*)fraction{ Fraction *fra = [[Fraction alloc]init]; fra.numerator = self.numerator*fraction.numerator; fra.denominator = self.denominator*fraction.denominator; [fra reductionOfFraction]; }//相除 -(NSInteger)compare:(Fraction*)fraction{ NSInteger a = self.numerator*fraction.denominator; NSInteger b = fraction.numerator*self.denominator; if (a > b) { return 1; } else if (a < b){ return -1; }else{ return 0; } }//比较 @end
相关文章推荐
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- 如何通过创建一个Fraction类(分数)来实现分数的加减乘除,比较大小、约分等方法(方法的实现部分)
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。要求:为类添加属性
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法.要求:为类添加属性
- OC 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- Fraction类(分数)实现分数的加减乘除, ⽐比较⼤大⼩小、约分等⽅方法
- c++一个实现分数大小比较和各种运算的类
- 一个简易的8位计算器,可实现加减乘除,testbench写的较为简易,代码覆盖率有点低。方法比较笨,综合之后的频率不高。
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- 分数的加减乘除 约分 以及比较大小
- 5.编写一个程序,有两个类,其中类MAX中具有两个方法,方法名都是max,一个方法能够比较两个数的大小,另外一个方法能够比较三个数的大小。在另外一个类中创建对象,调用这两个方法,分别输出两组数:2、6
- 3. 定义一个分数类(Fraction) 实例变量:分子,分母 方法:初始化方法(2个参数),便利构造器,约分,打印,加,减,乘,除。
- 创建一个分数类,实现分数的加减乘除
- linux下创建一个指定文件大小,并实现从ext2到ext3的转换
- 第八周实验报告任务3 实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除,求反,比较6种关系的运算。
- 在python中创建class method的一个比较隐晦的方法
- 以屏幕中间为区分,同时调用两个文档占满屏进行比较的一个实现方法
- [原创]详述IComparer,IComparable接口,实现自定义方法比较对象大小并排序(C#)
- 每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小