OC 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
来源:互联网 发布:网上预约软件 编辑:程序博客网 时间:2024/04/29 21:21
#import <Foundation/Foundation.h>/*创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性 */@interface Fraction : NSObject{ NSInteger _denominator; //分母 NSInteger _member; //分子}@property (nonatomic) NSInteger denominator; //分母@property (nonatomic) NSInteger member; //分子//初始化方法- (id)initWithDenominator:(NSInteger)denominator member:(NSInteger)member;//分数相加- (Fraction *)add:(Fraction *)num1;//分数相减- (Fraction *)subtract:(Fraction *)num1;//分数相乘- (Fraction *)multiply:(Fraction *)num1;//分数相除- (Fraction *)division:(Fraction *)num1;//分数比较大小- (NSComparisonResult)compare:(Fraction *)num1;//分数约分- (void)reductionOfFraction;//求最大公约数- (NSInteger)getMaxDivisorWithNumber:(NSInteger)number1 number2:(NSInteger)number2;@end
<pre name="code" class="objc">#import "Fraction.h"@implementation Fraction@synthesize denominator = _denominator;@synthesize member = _member;//初始化方法- (id)initWithDenominator:(NSInteger)denominator member:(NSInteger)member{ self = [super init]; if (self) { self.denominator = denominator; self.member = member; } return self;}//求最大公约数- (NSInteger)getMaxDivisorWithNumber:(NSInteger)number1 number2:(NSInteger)number2{ NSInteger temp = 0; if (number1 < 0) { number1 = -number1; } while (number2 != 0) { temp = number1 % number2; number1 = number2; number2 = temp; } return number1;}//分数约分- (void)reductionOfFraction{ NSInteger maxDivisor = [self getMaxDivisorWithNumber:self.member number2:self.denominator]; self.member /= maxDivisor; self.denominator /= maxDivisor;}//分数相加- (Fraction *)add:(Fraction *)num1{ Fraction *num = [[Fraction alloc] init]; num.member = self.member * num1.denominator + num1.member * self.denominator; num.denominator = self.denominator * num1.denominator; [num reductionOfFraction]; return num;}//分数相减- (Fraction *)subtract:(Fraction *)num1{ Fraction *num = [[Fraction alloc] init]; num.member = self.member * num1.denominator - num1.member * self.denominator; num.denominator = self.denominator * num1.denominator; [num reductionOfFraction]; return num;}//分数相乘- (Fraction *)multiply:(Fraction *)num1{ Fraction *num = [[Fraction alloc] init]; num.member = self.member * num1.member; num.denominator = self.denominator * num1.denominator; [num reductionOfFraction]; return num;}//分数相除- (Fraction *)division:(Fraction *)num1{ Fraction *num = [[Fraction alloc] init]; num.member = self.member * num1.denominator; num.denominator = self.denominator * num1.member; [num reductionOfFraction]; return num;}//分数比较大小- (NSComparisonResult)compare:(Fraction *)num1{ NSInteger a = self.member * num1.denominator; NSInteger b = num1.member * self.denominator; if (a > b) { return NSOrderedDescending; }else if(a < b){ return NSOrderedAscending; }else{ return NSOrderedSame; }}//重写description- (NSString *)description{ NSString *str = nil; if (self.member % self.denominator == 0) { str = [NSString stringWithFormat:@"%ld", self.member / self.denominator]; }else{ str = [NSString stringWithFormat:@"%ld/%ld", self.member, self.denominator]; } return str;}@end
@autoreleasepool { Fraction *number1 = [[Fraction alloc] initWithDenominator:6 member:0]; Fraction *number2 = [[Fraction alloc] initWithDenominator:6 member:6]; //加法 Fraction *addNum = [number1 add:number2]; NSLog(@"%@", addNum); //约分 [number1 reductionOfFraction]; NSLog(@"%@", number1); //减法 Fraction *subNum = [number1 subtract:number2]; NSLog(@"%@", subNum); //乘法 Fraction *mulNum = [number1 multiply:number2]; NSLog(@"%@", mulNum); //除法 Fraction *divNum = [number1 division:number2]; NSLog(@"%@", divNum); //比较大小 NSInteger a = [number1 compare:number2]; NSLog(@"%ld",a); }
1 0
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法.要求:为类添加属性
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- OC 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
- 如何通过创建一个Fraction类(分数)来实现分数的加减乘除,比较大小、约分等方法(方法的实现部分)
- Fraction类(分数)实现分数的加减乘除, ⽐比较⼤大⼩小、约分等⽅方法
- 分数的加减乘除 约分 以及比较大小
- 3. 定义一个分数类(Fraction) 实例变量:分子,分母 方法:初始化方法(2个参数),便利构造器,约分,打印,加,减,乘,除。
- 分数的约分及加减乘除运算
- 分数类的加减乘除
- 实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算
- 实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算
- 实现分数的加减乘除
- 第八周-运算符重载-分数类的运算符重载(1)-加减乘除以及大小比较
- c++一个实现分数大小比较和各种运算的类
- 求两个分数的加减乘除,并比较大小
- Objective c 分数之间的加减乘除 约分,最大公约数
- 单例模式小结
- NET Micro Framework移植问题记录
- 有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组)
- iOS开发多线程篇—线程间的通信
- 《精通QTP-自动化测试技术领航》学习笔记4-weblist&webradiogroup
- OC 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- (状态DP)Corn Fields
- 单选框
- POJ 2607 Fire Station(floyd)
- 学习笔记
- Cocos2dx 小技巧(六)断言CCAssert
- 贝叶斯决策论
- 循环链表
- UVa12093 Protecting Zonk