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工具导入测试用例数据 ...
随机推荐
- <正见>摘抄
1- 没有全能的力量能够扭转死亡之路,因此也就不会困在期待之中.如果没有盲目的期待,就不会有失望,如果能够了解一切都是无常,就不会攀缘执著.如果不攀缘执著,就不会患得患失,也才能真正完完全全地活着. ...
- 第二章IPC——IPC与开启多进程
问题 一.IPC ①.什么是IPC ②.为什么要有IPC 二.多进程 ①.如何开启多进程 ②.系统如何创建多进程 三.多进程引发的问题 问:私有进程(利用":+进程名")能否共 ...
- Python学习笔记三,数组list和tuple
list也就是列表的意思,可以存储一组数据集合,比如classmates=['zhangsan','lisi','123']每个数据用单引号包裹,逗号隔开.
- 编译安装httpd
一.安装前的说明: httpd依赖于apr和apr-util所以在安装httpd之前要把这些东西都安装上去. 事先安装的依赖: yum -y install gcc gcc-c++ pcre-deve ...
- 电机转矩T=9550*P/N推导。
很奇怪,这个公式怎么来的,原来好多是基础物理的,也许我们初中高中物理书上多有,基础真的是很基础的基础. P=F*V (1) ,即功率=力*速度 T=F*R (2) ,即力矩=力*作用长度 ,在电机里 ...
- python爬虫系列之爬京东手机数据
python抓京东手机数据 作者:vpoet mail:vpoet_sir@163.com #coding=utf-8 import urllib2 from lxml import etree im ...
- 求解答,Android源码编译时怎样添加第三方jar包
各位大神好,遇到的问题如标题. 我用Eclipse写了一个android工程,但是这个工程需要到SDK的隐藏类,所有想在源码下编译,但是每次mm之后,都会出现错误,提示是找不到对应的类. 我需要加入的 ...
- JNI与JNA性能比较
JNI与JNA性能比较 在介绍JNA时,提到了JNA是基于JNI的,是在JNI上封装了一层,JNI性能不如JNA.最近在网上看到篇简单的比较这两者性能的文档,感觉不错,现转载一下: 分别用JNI和JN ...
- 找不到eth0,但能找到eth1的问题解决办法
故障现象:Linux的网卡由eth0变成了eth1,如何修复?解决方案:在linux中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules ...
- Unity 两张背景的切换平移
两张背景图片向左移动,当屏幕看见的时候. 使用的是Unity自带的Sprite,当然也可以使用NGUI Sprite using UnityEngine; using System.Collectio ...