---------------------------------------- android培训、java培训、期待与您交流! -----------------------------------------
4> 将2013年05月05日转换为2013-05-05(熟练使用:NSDate、NSDateFormatter的用法)
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSString *str = @"2013年05月05日";
NSLog(@"原字符串:%@",str);
//定义一个dateFormatter
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
//设置Formatter的时间格式
[formatter setDateFormat:@"yyyy年MM月dd日"];
//将字符串转成NSDate
NSDate *date = [formatter dateFromString:str];
//设置Formatter的时间格式
[formatter setDateFormat:@"yyyy-MM-dd"];
//按新的时间格式将date转成新的字符串
NSString *newStr = [formatter stringFromDate:date];
NSLog(@"新字符串:%@",newStr);
return 0;
}
5> 编写一个函数,实现猜数字游戏,要求:随机产生一个数字,提示用户输入,提示用户输入数 字是否过大或过小,输入正确游戏结束(熟悉OC的控制流和随机数的获取)
#import <Foundation/Foundation.h>
/**
* 功能:判断2个数是否相等,当两个数相等返回0,其他情况返回1
* 参数说明:
* num:游戏开始随机生成的数
* scanNum:玩具输入的数
*/
int judge(int num,int scanNum)
{
if (scanNum > num) { //输入比生成的数大了
NSLog(@"大了");
return 1;
} else if (scanNum < num) { //输入比生成的数小了
NSLog(@"小了");
return 1;
} else { //输入和生成相等
NSLog(@"游戏结束");
return 0;
}
}
int main(int argc, const char * argv[])
{
int scanNum;
int flag = 1;
//随机生成一个0到1000的数
int num = arc4random_uniform(1000);
NSLog(@"%d",num);
//循环判断:循环直到用户猜对数字才跳出循环结束
while (flag) {
NSLog(@"请输入一个数字:"); //提示用户输入一个猜测的数字
scanf("%d",&scanNum);//保存用户的输入数据
flag = judge(num,scanNum);
}
}
6>定义一个block,要求接收一个数组并用迭代器遍历数组,接收的数组内容如下:
“itheima”
10
19.8
nil
struct Date{int year,int month,intday};
(熟悉block的使用,迭代器对数组的遍历,nil对象的封装:NSNull)
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
//定义一个名为myBlock的block,参数为NSArray对象
void (^myBlock) (NSArray *) = ^(NSArray *array){
for (NSObject *obj in array) { //用for循环对传入对象进行遍历
NSLog(@"%@",obj); // 对遍历的结果打印输出
}
};
//定义一个Date的结构体
struct Date{int year;int month;int day;};
// 声明一个Date类型的date对象
struct Date date;
// 对data结构体封装成为一个NSValue对象
NSValue *value = [NSValue valueWithBytes:&date objCType:@encode(struct Date)];
//定义一个NSArrary类型的数组对象,内容为指定内容,存放五个元素
NSArray *array = [NSArray arrayWithObjects:@"itheima",@10,@19.8, [NSNull null],value, nil];
//使用block遍历定义的数组
myBlock(array);
}
--------------------------------------- android培训、java培训、期待与您交流! -------------------------------------------