zoukankan      html  css  js  c++  java
  • 黑马程序员-OC练习作业

    • 题目要求

      1.求字符串“158”和“39”按十进制数值做差后的结果以字符串形式输出

      2.取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出

      3.实现函数NSString * stringWithoutNum(NSString *str);删除字符串str的所有数字

      4.实现函数:NSArray *kickOff10(NSArray *array);将数组中的@10去掉

      5.将2013年05月05日转换为2013-05-05

    • 第一题
      1 #import <Foundation/Foundation.h>
      2 
      3 int main(){
      4     // 将字符串转换成int类型
      5     int a1 = [@"158" intValue];
      6     int a2 = [@"39" intValue];
      7     NSLog(@"%d", a1 - a2);
      8     return 0;
      9 }
    • 第二题
       1 #import <Foundation/Foundation.h>
       2 
       3 int main(){
       4     // 第一种方法:将字符串分割成数组,然后将数组每个元素拼接起来
       5     NSArray *array = [@"123-456-789-000" componentsSeparatedByString:@"-"];
       6     NSString *string1 = @""; // 新字符串
       7     for (NSString *s1 in array) {
       8         string1 = [string1 stringByAppendingString:s1];
       9     }
      10     NSLog(@"%@", string1);
      11     // 第二种方法:创建可变字符串查找中划线并删除
      12     NSMutableString *string2 = [NSMutableString stringWithFormat:@"123-456-789-000"];
      13     for (int i = 0; i <3; i++) {
      14         NSRange range = [string2 rangeOfString:@"-"];
      15         [string2 deleteCharactersInRange:range];
      16     }
      17     NSLog(@"%@", string2);
      18     // 第三种方法:创建空可变字符串,将分割后的数组元素依次添加到可变字符串中
      19     NSMutableString *string3 = [[NSMutableString alloc] initWithString:@""];
      20     NSArray *array1 = [@"123-456-789-000" componentsSeparatedByString:@"-"];
      21     for (NSString *str in array1) {
      22         [string3 appendString:str];
      23     }
      24     NSLog(@"%@", string3);
      25     return 0;
      26 }
    • 第三题(刚看题目的时候我在想,函数的参数是不可变的字符串,能删除么?)
       1 #import <Foundation/Foundation.h>
       2 
       3 NSString *stringWithoutNum(NSString *str){
       4     // 将不可变字符串赋值给字符串
       5     NSMutableString *string = [[NSMutableString alloc] initWithString:str];
       6     // 获取字符串的长度
       7     NSInteger length = string.length;
       8     // 遍历字符串每个字符
       9     for (int i = 0; i < length; i++) {
      10         // 获取单个字符
      11         const char c = [string characterAtIndex:i];
      12         if ( c >= '0'&&c <= '9') {
      13             // 将对应位置数字字符删除
      14             [string deleteCharactersInRange:NSMakeRange(i, 1)];
      15             // 删除掉一个字符数字,可变字符串长度和i的值减1
      16             length -= 1;
      17             i -= 1;
      18         }
      19     }
      20     return string;
      21 }
      22 
      23 int main(){
      24     NSLog(@"%@", stringWithoutNum(@"Iam234abad98z209h311man66"));
      25     return 0;
      26 }
    • 第四题(跟第三题一样,不可变的数组能去掉某些特殊的对象么?)
       1 #import <Foundation/Foundation.h>
       2 
       3 NSArray *kickOff10(NSArray *array){
       4     // 将不可变数组赋值给可变数组
       5     NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array];
       6     // 遍历可变数组
       7     for (int i = 0; i < mutableArray.count; i++) {
       8         // 查找是否有 @10 这种元素,有的话就将它移除
       9         if ([mutableArray[i]  isEqual: @10]) {
      10             [mutableArray removeObject:@10];
      11             break; // 退出循环
      12         }
      13     }
      14     return mutableArray;
      15 }
      16 
      17 int main(){
      18     NSLog(@"%@", kickOff10(@[@"sdf10", @"10oiu", @"10", @10, @"tt10", @10, @10,@"1010"]));
      19     return 0;
      20 }

      注意:可变数组的- (void)removeObject:(id)anObject方法是移除所有的anObject元素

    • 第五题
       1 import <Foundation/Foundation.h>
       2 
       3 int main() {
       4     // 创建一个NSDate(编写程序的时间为2015年4月14日)
       5     NSDate *today = [NSDate date];
       6     // 从现在往后推62100000秒,回到2013年5月5日
       7     NSDate *dateOf2013_5_5 = [NSDate dateWithTimeInterval:-62100000 sinceDate:today];
       8     // 创建一个格式化的NSDateFormatter对象
       9     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      10     // 将格式设置为“xxxx-xx-xx”这种形式
      11     formatter.dateFormat = @"yyyy-MM-dd";
      12     // 将dateOf2013_5_5转化成格式化日期
      13     NSString *string = [formatter stringFromDate:dateOf2013_5_5];
      14     NSLog(@"%@", string);
      15     return 0;
      16 }
  • 相关阅读:
    接口报错mixed content blocked
    重拾单片机
    部署ajax服务-支持jsonp
    linkageSystem--串口通信、socket.io
    node安装问题
    jshint之对!的检验
    node之websocket
    调试node服务器-过程
    oracle取某字符串字段的后4位
    vmware 共享文件夹
  • 原文地址:https://www.cnblogs.com/oucding/p/4453280.html
Copyright © 2011-2022 走看看