//掷骰子题,掷骰子100次,输出每个号出现的次数

void one()

{

for (int i=1; i<=100; i++) {

int a = arc4random() % 6 +1;

NSLog(@"%d %d",i,a);

}

}

//输出一个字符串中每个字符出现的次数

void two()

{

NSString *str = @"hello apple";

NSMutableDictionary *dic = [NSMutableDictionary dictionary];

for (int i = 0; i < str.length; i++) {

NSRange range = [str rangeOfComposedCharacterSequenceAtIndex:i];

NSString *s = [str substringWithRange:range];

if (dic[s]) {

int count = [dic[s] intValue]+1;

dic[s] = [NSNumber numberWithInt:count];

}else{

dic[s] = @1;

}

}

NSLog(@"%@",dic);

}

//现在有一个有序的数组,要求用户输入一个整数放到数组中还保证这个数组是有序的。例如原数组为@[@1,@3,@5,@7,@9]; 插入8之后为@[@1,@3,@5,@7,@8,@9]

void three()

{

NSArray *arr = @[@1, @3, @5, @7, @9, @8];

NSArray *result = [arr sortedArrayUsingComparator:^NSComparisonResult(NSNumber *obj1, NSNumber *obj2) {

return [obj1 compare:obj2];

}];

NSLog(@"%@",result);

}

//现有如下定义的字符串: NSString *str=@“itheimaAndroid”,能对该字符串进行修改请输出删除Android后的新字符串;

void four()

{

NSString *str1 = @"itheimaAndroid";

NSString *result1 = [str1 stringByReplacingOccurrencesOfString:@"Android" withString:@""];

NSLog(@"%@",result1);

}

//求出1.2.3.4四个数,随意组成一个里面没有相同数字的三位数,总共有多少种组合方式

void five()

{

NSMutableArray *arr = [NSMutableArray array];

for (int i = 1; i <= 4; i++) {

for (int j = 1; j <= 4; j++) {

for (int k = 1; k <= 4; k++) {

if(i != j && i != k && j != k){

[arr addObject:@(i*100 + j*10 +k)];

}

}

}

}

NSLog(@"%@\n%lu", arr, arr.count);

}

//求100以内3的倍数

void six()

{

int i = 1;

NSMutableArray *arr = [NSMutableArray array];

while (i <= 100) {

if (i % 3 == 0) {

[arr addObject:@(i)];

}

i++;

}

NSLog(@"%@\n%lu", arr, arr.count);

}

//深复制,浅复制的问题,随便一个NSArray,用代码创建一个可变和一个不可变数组,他们是深复制还是浅复制

void seven()

{

NSArray *arrary = [NSArray array];

NSArray *a1 = [NSArray arrayWithArray:arrary];

NSArray *a2 = [arrary copy];

NSArray *a3 = arrary;

NSMutableArray *a4 = [NSMutableArray arrayWithArray:arrary];

NSLog(@"\n%p\n%p\n%p\n%p\n%p", arrary, a1, a2, a3, a4);

}

个方法:<1>字符串反转(比如@"123"调用方法后返回@"321");<2>计算英文字母的个数(比如@"5435abc54abc3AHJ5"调用方法后返回的是9);<3>去除字符串两端空格(比如@" 1235 45 "调用方法后返回@"1235 45")

- (NSString *)stringByReserve

{

NSMutableString *s = [NSMutableString string];

for (NSUInteger i = self.length; i > 0; i--)

{

[s appendString:[self substringWithRange:NSMakeRange(i-1, 1)]];

}

return s;

}

- (NSUInteger)chararcterCountOfString

{

NSUInteger count = 0;

for (NSUInteger i = 0; i < self.length; i ++)

{

unichar c = [self characterAtIndex:i];

if ((c<='z'&&c>='a')||(c<='Z'&&c>='A')) {

count ++;

}

}

return count;

}

- (NSString *)stringByRemovingBlank

{

return [self stringByReplacingOccurrencesOfString:@" " withString:@""];

}

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

Objextive-C几道小题目笔记的更多相关文章

  1. TOM大叔的几道Javascript题目与解答

    几道JS题目 之前没有深入研究js语言,最近几年前端越来越工程化,需要扎实的js基础,看到博客园上有很多大牛分享JS学习文章,幸运看到tom大叔的blog,抽时间潜心学习了其文章,遇到到其出的几道题目 ...

  2. 关于SQL的几道小题详解

    关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...

  3. 《编写高质量代码--Web前端开发修炼之道》读书笔记

    前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...

  4. JAVA关于字符串&&字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...

  5. js小题目(持续更新)

    总是感觉之前做过的问题很久没碰的话就会忘掉,于是打算专门开一个记录小题目的随笔当题典用. 目录 五种主要数据类型进行值复制 数组去重 数组去重并计数 实现clone()方法,对五种主要数据类型进行值复 ...

  6. 《软件测试自动化之道》读书笔记 之 基于反射的UI测试

    <软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序  启动待测程序  设置窗体的属性  获取窗体的属性  设置控件的属性  ...

  7. 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试

    <软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序  启动待测程序  获得待测程序主窗体的句柄  获得有名字控件的 ...

  8. 《软件测试自动化之道》读书笔记 之 底层的Web UI 测试

    <软件测试自动化之道>读书笔记 之 底层的Web UI 测试 2014-09-28 测试自动化程序的任务待测程序测试程序  启动IE并连接到这个实例  如何判断待测web程序完全加载到浏览 ...

  9. 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试

    <软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序   创建测试用例以及测试结果存储  执行T-SQL脚本  使用BCP工具导入测试用例数据  ...

随机推荐

  1. 检测.net framework 版本

    项目中,自己要制作asp.net项目的安装文件,由于项目依赖于.net framework 3.5 sp1,故需检测环境是否符合要求,才能安装程序 度娘找到检测方案:各.net版本对应的安装补录下都有 ...

  2. “弹出DVD驱动器错误”解决方法

    错误描述:(win7环境) 买了个开发板,赠送了一些光盘,放在电脑光驱中打开后,电脑就疯狂响,可能是光盘质量太差.用完后在弹出时显示“弹出DVD驱动器错误”[见图1].直接按主机上弹出按钮也没有反应. ...

  3. 找不到Qt5Cored.dll(Release和Debug版连接了不同的库)

    Qt5Cored.dll和Qt5Core.dll文件分别用于Qt软件的Debug版和Release版. 通常会有两个Qt5Core.dll文件,分别位于Qti安装目录下的“Qt5.1.0\5.1.0\ ...

  4. java设计模式--行为型模式--中介者模式

    怎么理解中介者模式,我姑且用房产中介来理解吧.呵呵 中介者模式: 中介者模式 概述 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之 ...

  5. ios常用的几个动画代码

      #import "MianViewController.h" #import <QuartzCore/QuartzCore.h> @interface MianVi ...

  6. pthread_t definition

    近期在看google的chromium的代码,认为其基础库base中的对于与平台有关的线程的数据结构的定义与其代码中的凝视部分不匹配. // PlatformThreadHandle should n ...

  7. 【C++第三课】---新的关键字

    一.动态分配内存的时的关键字 注意在C++中和C不一样的是,在C中使用的malloc来动态分配内存,而这个malloc只是标准C库的调用,所以这个不属于标准C的范畴,而在C++ 中却有真正的关键字来分 ...

  8. 不定义JQuery插件,不要说会JQuery[转载]

    http://www.cnblogs.com/xcj26/p/3345556.html 不定义JQuery插件,不要说会JQuery 一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页 ...

  9. Reflux 使用教程

    Reflux是根据React的flux创建的单向数据流类库.Reflux的单向数据流模式主要由actions和stores组成.例如,当组件list新增item时,会调用actions的某个方法(如a ...

  10. mobile web retina 下 1px 边框解决方案

    本文实际上想说的是ios8下 1px解决方案. 1px的边框在devicePixelRatio = 2的retina屏下会显示成2px,在iphone 6 plug 下,更显示成3px.由其影响美感. ...