Foundation框学习推存博客:http://blog.csdn.net/jianxin160/article/details/47753195#array
// Fundation
#import <Foundation/Foundation.h>
// 14. 自定义一个Ball类,有一个颜色属性(只有黑色和白色)。
typedef enum _BallColor{
BallColorRed,
BallColorBlack,
}BallColor;
@interface Ball : NSObject
@property (nonatomic,assign)BallColor color;
+ (Ball *)ball;
+ (Ball *)ballWithColor:(BallColor) color;
@end
@implementation Ball
+ (Ball *)ball{
Ball * bb = [[Ball alloc]init];
NSInteger rand = arc4random()%2;
if (BallColorBlack == rand) {
bb.color = BallColorBlack;
}
else
bb.color = BallColorRed ;
return bb;
}
+ (Ball *)ballWithColor:(BallColor)color{
Ball * p = [self ball];
p.color = color;
return p;
}
- (NSString *)description{
NSString * color1 ;
color1 = nil ;
if (BallColorRed == _color) {
color1 = @"红色";
}
else
color1 = @"黑色";
return [NSString stringWithFormat:@"当前求的色是:%@",color1];
}
@end
//
// 过滤str中的数字,并返回
#pragma mark - 过滤str中的数字,并返回
NSString * stringWithoutNum(NSString *str){
NSMutableString * mutStr = [NSMutableString stringWithString:str];
for (int i = 0 ; i<10; i++) {
[mutStr replaceOccurrencesOfString:[NSString stringWithFormat:@"%d",i]
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0, mutStr.length)];
}
return mutStr;
}
// 将num转换成字符串
#pragma mark - 将num转换成字符串
NSString *castToStr(NSInteger num){
return [NSString stringWithFormat:@"%ld",num];
}
// 传入一个数组,返回一个数组其中元素不能包含10.
#pragma mark - 传入一个数组,返回一个数组其中元素不能包含10.
NSArray *kickOffEven(NSArray *array){
NSMutableArray * mutArr = [NSMutableArray arrayWithArray:array];
for (int i = (int)mutArr.count-1; i>=0; --i) {
if(10 == [mutArr[i] integerValue])
[mutArr removeObjectAtIndex:(NSUInteger)i ];
}
return mutArr ;
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
// 1. 现有如下定义的字符串: NSString * str=@“iphoneAndroid”,能不能对该字符串进行修改,如果能,请输出删除Android后的新字符串。
NSMutableString * str = [NSMutableString stringWithString:@"iphoneAndroid"];
NSString * delstr = @"Android";
NSRange range = [str rangeOfString:delstr];
NSLog(@"%@",[str substringToIndex:range.location]);
// 2. 求字符串“158”和“39”按十进制数值做差后的结果以字符串形式输出
NSInteger mins = [@"158" integerValue] - [@"39" integerValue];
NSLog(@"%ld",mins);
// 3. 取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出
NSMutableString * str1 = [NSMutableString stringWithString:@"123-456-789-000"];
[str1 replaceOccurrencesOfString:@"-" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, str1.length)];
NSLog(@"%@",str1);
// 4.实现函数 NSString * stringWithoutNum(NSString *str);
NSLog(@"%@",stringWithoutNum(@"abc123defg22aaAA"));
// 5. 完成NSString *castToStr(NSInteger int);函数
NSLog(@"%@",castToStr(123466));
// 6. 定义一个含有10个整数元素的数组tens。
NSArray * tens = @[@1 , @2 , @3 , @4 , @10 , @6 , @7 , @8 , @9 , @10];
//NSLog(@"%@",tens);
// 7. 实现函数:NSArray *kickOff10(NSArray *array)
NSArray * tTens = [NSArray arrayWithArray:tens];
tTens = kickOffEven(tTens);
NSLog(@"%@",tTens);
// 8. 定义一个数组用来存储学生的姓名,存入5个学生姓名。
NSArray * arrName = [[NSArray alloc]init];
for (int i = 1; i <= 5; i++) {
//[mutarr addObject:];
arrName = [arrName arrayByAddingObject:[NSString stringWithFormat:@"name%d",i]];
}
/* 也可安第 6 问对数组初始化*/
NSLog(@"第8个输出:%@",arrName);
// 9. 将学生姓名数组存入文件保存。
NSString * url = @"/Users/qujie/Desktop/1.txt";
[arrName writeToFile:url atomically:YES];
// 10.读取文件,并将内容输出。
arrName = nil ;
arrName = [NSArray arrayWithContentsOfFile:url];
NSLog(@"第10个输出:%@",arrName);
// 11. 在一个字典中存储学生信息(姓名,年龄,性别)。
NSDictionary * sutInformation = @{ @"name": @"name_xx",
@"age" : @"20",
@"sex" : @"man"
};
NSLog(@"第11个输出:%@",sutInformation);
// 12. 生成3个学生信息,存入一个数组中。
NSMutableArray * sutInfoArr = [NSMutableArray array];
for (int i = 0; i < 3 ; ++i) {
NSDictionary * sutInformation = @{ @"name": [NSString stringWithFormat:@"name_%d",i],
@"age" : @"20",
@"sex" : @"man"
};
[sutInfoArr addObject:sutInformation];
}
NSLog(@"第12个输出:%@",sutInfoArr);
// 13. 输出数组。
// 14. 自定义一个Ball类,有一个颜色属性(只有黑色和白色)。
Ball * ball = [Ball ballWithColor:BallColorBlack];
NSLog(@"第14个问题输出:%@",ball);
// 15. 随机生成20个小球,放入一个集合中。
NSMutableSet * ballSet = [NSMutableSet setWithCapacity:20];
for (int i=0; i < 20 ; i++) {
[ballSet addObject:[Ball ball]];
}
// 16. 从集合中取出10个小球,并打印出来。
NSMutableArray * ballMut = [NSMutableArray arrayWithCapacity:10];
for (int i = 0 ; i < 10 ; i++) {
Ball * b = [ballSet anyObject];
[ballSet removeObject:b];
[ballMut addObject:b];
}
NSLog(@"第16个输出:%@",ballMut);
// 17. 将2013年05月05日转换为2013-05-05
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy年MM月dd日";
NSDate * date = [formatter dateFromString:@"2013年05月05日"];
NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];
formatter2.dateFormat = @"yyyy-MM-dd";
NSString * dateString = [formatter2 stringFromDate:date];
NSLog(@"%@ 转换为 %@",date,dateString);
// 18. 通过@“Ball”创建一个Car的实例(不可使用 [[Ball alloc] init] 创建)
Class class = NSClassFromString(@"Ball");
Ball * Car = [[class alloc]init];
NSLog(@"%@",Car);
// 19. 编写一个猜数字游戏。
}
return 0;
}