黑马程序员——编程实践

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.创建一个 Dog 类,成员变量有,int age; int weight; int height; 分别写三个 set 函数,给三个成员变量赋值。  再写一个 printInformation 函数,打印三个成员变量的值

设计一个点类MyPoint,横坐标为x,纵坐标为y,分别对x,y进行设置和打印。
#import <Foundation/Foundation.h>

@interface MyPoint : NSObject
{
    double _x;
    double _y;
}
//初始化方法
-(id)initWithX:(double)x andY:(double)y;
//x的设置方法和获取方法
-(void)setX:(double)x;
-(double)x;
//y的设置方法和获取方法
-(void)setY:(double)y;
-(double)y;
//同时设置x和y的方法
-(void)setX:(double)x andY:(double)y;
//显示点的值
-(void)show;
@end
#import "MyPoint.h"

@implementation MyPoint
//初始化方法
-(id)initWithX:(double)x andY:(double)y
{
    if (self=[super init]) {
        _x=x;
        _y=y;
    }
    return self;
}
//x的设置方法和获取方法
-(void)setX:(double)x;
{
    _x=x;
}
-(double)x;
{
    return _x;
}
//y的设置方法和获取方法
-(void)setY:(double)y;
{
    _y=y;
}
-(double)y;
{
    return _y;
}
//同时设置x和y的方法
-(void)setX:(double)x andY:(double)y;
{
    _x=x;
    _y=y;
}
//显示点的值
-(void)show;
{
    NSLog(@"point x=%f,y=%f",_x,_y);
}
@end
#import <Foundation/Foundation.h>
#import "MyPoint.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        MyPoint *point=[[MyPoint alloc]init];
        [point setX:100];
        [point setY:200];
        [point show];
        [point setX:-100 andY:-200];
        [point show];
        
        
    }
    return 0;
}
2.设计一个圆类MyCircle,半径为r,创建一个半径为5的圆对象,打印周长和面积。

#import <Foundation/Foundation.h>

@interface MyCIrcle : NSObject
{
    double _r;
    double _l;
    double _area;
}
-(void)setR:(double)r; //andL:(double)l andArea:(double)area;
-(void)show;
@end
************************************************************************************************************
 #import "MyCIrcle.h"
#define PI 3.1415
@implementation MyCIrcle
-(void)setR:(double)r;
{
}
-(void)show;
{
    NSLog(@"l=%lf\narea=%lf",_l=2*PI*_r,_area=PI*_r*_r);
}

@end
************************************************************************************************************
#import <Foundation/Foundation.h>
#import "MyCIrcle.h"
#define PI 3.1415
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        MyCIrcle *circle=[[MyCIrcle alloc]init];
        [circle setR:5];
        [circle show];
        
    }
    return 0;
}
************************************************************************************************************
方法二
#import <Foundation/Foundation.h>

@interface MyCIrcle : NSObject
{
    double _r;
    double _l;
    double _area;
}
-(id)initWithR:(double)r;
-(void)show;
@end
************************************************************************************************************
#import "MyCIrcle.h"
#define PI 3.1415
@implementation MyCIrcle
-(id)initWithR:(double)r;// andL:(double)l andArea:(double)area;
{
    if (self=[super init]) {
        _r=r;
    }
    return self;
}
-(void)show;
{
    NSLog(@"l=%lf\narea=%lf",_l=2*PI*_r,_area=PI*_r*_r);
}

@end

************************************************************************************************************
#import <Foundation/Foundation.h>
#import "MyCIrcle.h"
#define PI 3.1415
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        MyCIrcle *anotherCircle=[[MyCIrcle alloc]initWithR:5];
        [anotherCircle show];
        
    }
    return 0;
}
************************************************************************************************************

方法三
#import <Foundation/Foundation.h>

@interface MyCIrcle : NSObject
{
    double _r;
    double _l;
    double _area;
}
-(void)setR:(double)r;
-(double)r;
-(void)show;
@end
************************************************************************************************************

#import "MyCIrcle.h"
#define PI 3.1415
@implementation MyCIrcle
-(void)setR:(double)r;
{
    _r=r;
}
-(double)r;
{
    return _r;
}
-(void)show;
{
    NSLog(@"l=%lf\narea=%lf",_l=2*PI*_r,_area=PI*_r*_r);
}

@end
************************************************************************************************************

#import <Foundation/Foundation.h>
#import "MyCIrcle.h"
#define PI 3.1415
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        MyCIrcle *circle=[[MyCIrcle alloc]init];
        [circle setR:5];
        [circle show];
    }
    return 0;
}

3.有一个长方形MyRect类;
类字段: int length; int width; int area;
    方法: 设置长和宽 打印面积 实现这个类的设计
#import <Foundation/Foundation.h>

@interface MyRect : NSObject
{
    int _length;
    int _width;
    int _area;
}
-(void)setLength:(int)length;
-(int)length;
-(void)setWidth:(int)width;
-(int)width;
-(void)show;
@end
#import "MyRect.h"

@implementation MyRect
-(void)setLength:(int)length;
{
    _length=length;
}
-(int)length;
{
    return _length;
}
-(void)setWidth:(int)width;
{
    _width=width;
}
-(int)width;
{
    return _width;
}
-(void)show;
{
    NSLog(@"area=%d",_width*_length);
}
@end
#import <Foundation/Foundation.h>
#import "MyRect.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        MyRect *rect=[[MyRect alloc] init];
        [rect setLength:6];
        [rect setWidth:8];
        [rect show];
        
    }
    return 0;

方法二
#import <Foundation/Foundation.h>

@interface MyRect : NSObject
{
    int _length;
    int _width;
    int _area;
}
-(id)initWithsetLength:(int)length andWidth:(int)width;
-(void)show;
@end
#import "MyRect.h"

@implementation MyRect
-(id)initWithsetLength:(int)length andWidth:(int)width;
{
    if (self=[super init]) {
        _length=length;
        _width=width;
    }
    return self;
}
-(void)show;
{
    NSLog(@"area=%d",_width*_length);
}
@end
#import <Foundation/Foundation.h>
#import "MyRect.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        MyRect *antherRect=[[MyRect alloc]initWithsetLength:8 andWidth:6];
        [antherRect show];
        
    }
    return 0;
}
方法三
#import <Foundation/Foundation.h>

@interface MyRect : NSObject
{
    int _length;
    int _width;
    int _area;
}
-(void)setLength:(int)length andWidth:(int)width;
-(void)show;
@end
#import "MyRect.h"

@implementation MyRect
-(void)setLength:(int)length andWidth:(int)width;
{
    _length=length;
    _width=width;
}
-(void)show;
{
    NSLog(@"area=%d",_width*_length);
}
@end
#import <Foundation/Foundation.h>
#import "MyRect.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        MyRect *rect = [[MyRect alloc] init];
        [rect setLength:9 andWidth:8];
        [rect show];
    }
    return 0;
}
4.设计一个学生类Student,它有属性学号,成绩,性别;分别对这些属性进行赋 值和显示。
#import <Foundation/Foundation.h>
//学生类
@interface Student : NSObject
{
    int _sid;
    double _score;
    char _gender;
}
//初始化方法
-(id)initWithSid:(int)sid andScore:(double)score andGender:(char)gender;

-(void)setSid:(int)sid;
-(int)sid;
-(void)setScore:(double)score;
-(double)score;
-(void)setGender:(char)gender;
-(char)gender;

-(void)setSid:(int)sid andScore:(double)score andGender:(char)gender;
-(void)show;
@end
#import "Student.h"

@implementation Student
-(id)initWithSid:(int)sid andScore:(double)score andGender:(char)gender;
{
    if (self=[super init]) {
        _sid=sid;
        _score=score;
        _gender=gender;
    }
    return self;
}
-(void)setSid:(int)sid;
{
    _sid=sid;
}
-(int)sid;
{
    return _sid;
}
-(void)setScore:(double)score;
{
    _score=score;
}
-(double)score;
{
    return _score;
}
-(void)setGender:(char)gender;
{
    _gender=gender;
}
-(char)gender;
{
    return _gender;
}
-(void)setSid:(int)sid andScore:(double)score andGender:(char)gender;
{
    _sid=sid;
    _score=score;
    _gender=gender;
}
-(void)show;
{
    NSLog(@"sid=%d score=%lf gender=%c",_sid,_score,_gender);
}

    
@end
#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        Student *student=[[Student alloc] init];
        [student setSid:1408028];
        [student setScore:99];
        [student setGender:'B'];
        [student show];
        
        
        [student setSid:1408029 andScore:98 andGender:'B'];
        [student show];
        Student *anotherStudent=[[Student alloc]initWithSid:12345 andScore:89 andGender:'B'];
        [anotherStudent show];

        
                
    }
    return 0;
}
5.编写一个分数类:

   类名: Fraction
成员变量: 分子,分母(均为整型)
实例方法:

    1.初始化方法 带两个整型参数分别代表分子分母

    2.带两个参数的设置方法,分别代表分子分母

    3.打印这个分数

@interface QFFraction : NSObject {
    int _numerator; //分子
    int _denominator; // 分母
}
- (void) setNumerator:(int)newNumerator;
- (int) numerator;
- (void) setDenominator:(int)newDenominator;
- (int) denominator;
// 同时设置分子 分母
- (void) setNumerator:(int)newNumerator andDenominator:(int)newDenominator;

// 约分
- (void) reductionOfFraction;
@end
************************************************************************************************************
#import <Foundation/Foundation.h>

@interface MyFraction : NSObject
{
int _numerator; //分子
int _denominator; // 分母
}
- (void) setNumerator:(int)numerator;
- (int) numerator;
- (void) setDenominator:(int)denominator;
- (int) denominator;
// 同时设置分子 分母
- (void) setNumerator:(int)numerator andDenominator:(int)denominator;

// 约分
- (void) reductionOfFraction;
@end

************************************************************************************************************
#import "MyFraction.h"

@implementation MyFraction
-(void)setNumerator:(int)numerator;
{
    _numerator=numerator;
}
-(int)numerator;
{
    return _numerator;
}
-(void)setDenominator:(int)denominator;
{
    _denominator=denominator;
}
-(int)denominator;
{
    return _denominator;
}
// 同时设置分子 分母
- (void) setNumerator:(int)numerator andDenominator:(int)denominator;
{
    _numerator=numerator;
    _denominator=denominator;
}

// 约分
- (void) reductionOfFraction;
{
    NSLog(@"%d/%d",_numerator,_denominator);
}
@end

************************************************************************************************************
#import <Foundation/Foundation.h>
#import "MyFraction.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        
        MyFraction *fraction = [[MyFraction alloc] init];
        [fraction setNumerator:5];
        [fraction setDenominator:9];
        [fraction reductionOfFraction];
        [fraction setNumerator:4 andDenominator:8];
        [fraction reductionOfFraction];
    }
    return 0;
}

6. 编写一个四则运算器,从终端输入两个数和一个字符,可以进行加减乘除四则运算。(使用类方法)
#import <Foundation/Foundation.h>
@interface MyComputer : NSObject
+(void)setA:(double)a andB:(double)b andC:(char)character;
@end

#import "MyComputer.h"
@implementation MyComputer
+(void)setA:(double)a andB:(double)b andC:(char)character
{
    switch (character) {
        case '+':NSLog(@"%lf",a+b);break;
        case '-':NSLog(@"%lf",a-b);break;
        case '*':NSLog(@"%lf",a*b);break;
        case '/':NSLog(@"%lf",a/b);break;
        default:break;
    }
}
@end
#import <Foundation/Foundation.h>
#import "MyComputer.h"
int main(int argc, const char * argv[])
{
    @autoreleasepool {
        [MyComputer setA:2 andB:4 andC:'+'];
        [MyComputer setA:2 andB:4 andC:'-'];
        [MyComputer setA:2 andB:4 andC:'*'];
        [MyComputer setA:2 andB:4 andC:'/'];
    }
    return 0;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值