Objextive-C几道小题目笔记
//掷骰子题,掷骰子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几道小题目笔记的更多相关文章
- TOM大叔的几道Javascript题目与解答
几道JS题目 之前没有深入研究js语言,最近几年前端越来越工程化,需要扎实的js基础,看到博客园上有很多大牛分享JS学习文章,幸运看到tom大叔的blog,抽时间潜心学习了其文章,遇到到其出的几道题目 ...
- 关于SQL的几道小题详解
关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...
- 《编写高质量代码--Web前端开发修炼之道》读书笔记
前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...
- JAVA关于字符串&&字符数组处理的小题目
JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...
- js小题目(持续更新)
总是感觉之前做过的问题很久没碰的话就会忘掉,于是打算专门开一个记录小题目的随笔当题典用. 目录 五种主要数据类型进行值复制 数组去重 数组去重并计数 实现clone()方法,对五种主要数据类型进行值复 ...
- 《软件测试自动化之道》读书笔记 之 基于反射的UI测试
<软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序 启动待测程序 设置窗体的属性 获取窗体的属性 设置控件的属性 ...
- 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试
<软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序 启动待测程序 获得待测程序主窗体的句柄 获得有名字控件的 ...
- 《软件测试自动化之道》读书笔记 之 底层的Web UI 测试
<软件测试自动化之道>读书笔记 之 底层的Web UI 测试 2014-09-28 测试自动化程序的任务待测程序测试程序 启动IE并连接到这个实例 如何判断待测web程序完全加载到浏览 ...
- 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试
<软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序 创建测试用例以及测试结果存储 执行T-SQL脚本 使用BCP工具导入测试用例数据 ...
随机推荐
- 启动PL/SQL Developer 报字符编码不一致错误,Database character set
错误内容: Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character ...
- ubuntu 安装openproj-1.4-2.noarch.rpm
一 openproj是rpm包,ubuntu下需要转成deb安装.具体步骤1:下载:http://sourceforge.net/projects/openproj/2:安装alien sudo ap ...
- Qt之窗口动画(下坠、抖动、透明度)(还有好多相关帖子)
简述 前面几节中我们介绍了关于动画的基本使用,有属性动画.串行动画组.并行动画组.这节我们来实现一些特效,让交互更顺畅. 简述 示例 效果 源码 更多参考 示例 下面,我们以geometry.pos. ...
- Qt wrappers for OS X Cocoa widgets
Qt wrappers for OS X Cocoa widgetshttps://github.com/MikeMcQuaid/Qocoa
- Linux系统编程(14)——shell常用命令
1. ls命令 ls命令是列出目录内容(ListDirectory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. "ls -l"命令已详情模式 ...
- 完全跨站点跨域名单点(SSO)同步登录和注销
先来说说什么是单点登录(SSO).来自百科的介绍:SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主 ...
- UESTC_Judgment Day CDOJ 11
Today is the judgment day. The world is ending and all man will pay for their guilt and sin. Now the ...
- apache FtpServer 整合spring部署
我们在项目中可能会出现这样的需求,使用ftp上传很大的文件后对需要对文件进行相应的逻辑处理,这时我们可以使用apache ftpServer来处理这段逻辑,只要我们做相应的部署和编写我们的逻辑代码,这 ...
- Python递归函数与斐波那契数列
定义:在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 阶乘实例 n = int(input(">>:")) def f(n): s ...
- telnet如何操作Memcached缓存系统?
4.(1)telnet操作Memcached 许多语言都实现了连接memcached的客户端,其中以Perl.PHP为主.仅仅memcached网站上列出的语言就有:• Perl • PHP • Py ...