//掷骰子题,掷骰子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. asp.net mvc4 signalR后台自推送

    1.在引用中添加signalr后首选要引入Startup.cs类,在VS2012中添加Signalr后没有Startup.cs类然后就会报错 代码如下 using System; using Syst ...

  2. HTML基本标签大全

    HTML标签 <h#></h#>标题标签<hr/>水平线,单标记<p></p>段落标签&nbsp 空格<i></i ...

  3. Jmeter -- 初体验

    一.Jmeter参数 在命令行输入Jmeter --help得到以下信息: To run Apache JMeter in GUI mode:Double-click on the ApacheJMe ...

  4. css清除浮动解决方案

    清除浮动包括清除子元素的浮动和清除上级元素的浮动,其中清除上级元素的浮动,只需设置clear为both就可以了,而清除子元素的浮动则可以用空标签法.clearfix方法或overflow方法.因清除上 ...

  5. joseph-约瑟夫环问题

    约瑟夫环运作如下: 1.一群人围在一起坐成环状(如:N) 2.从某个编号开始报数(如:K) 3.数到某个数(如:M)的时候,此人出列,下一个人重新报数 4.一直循环,直到所有人出列,约瑟夫环结束 关于 ...

  6. Effective Java从零开始 - 就是爱Java

    或许你已经开始写Java了,或许只是想要一窥这个的世界,无论是抱着何种心情来看Java,从零开始,会一种没有负担,没有包袱的事,你会发现写程序不再是枯燥乏味,孤单寂寞的一个人,而是生活中最快乐的学习之 ...

  7. USB系列之三:从你的U盘里读出更多的内容

    U盘是我们最常使用的一种USB设备,本文继续使用DOSUSB做驱动,试图以读取扇区的方式读取你的U盘.本文可能涉及的协议可能会比较多. 一.了解你的U盘    首先我们用上一篇文章介绍的程序usbvi ...

  8. 【转】ARM交叉编译工具链

    原文网址:http://www.veryarm.com/cross-tools 为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台( ...

  9. 清除NT Kernel & System占用80端口

    运行'netstat -ano'发现80端口被system占用,进程号'4'转到任务管理器上看pid对应的进程描述是NT kernel & system. 解决方法: 1.1运行'regedi ...

  10. GridBagLayout练习

    摘自http://blog.csdn.net/qq_18989901/article/details/52403737  GridBagLayout的用法 GridBagLayout是面板设计中最复杂 ...