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);

}

//利用分类给NSString扩展3个方法:<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:@""];

} 

 

posted @ 2015-03-21 18:53  罕见  阅读(353)  评论(0编辑  收藏  举报