oc语言,读取文件,输入一个数字,比如4,输出该文章中出现4次的所有单词
oc语言,读取文件,输入一个数字,比如4,输出该文章中出现4次的所有单词
为超越而来 发表于3年前
oc语言,读取文件,输入一个数字,比如4,输出该文章中出现4次的所有单词
  • 发表于 3年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 例如 输入4 输出for first false full

- (id)initWithFile:(NSString *)path

{

    self = [super init];

    if (self) {

        _wordList = [NSMutableDictionary dictionary];

        [self parseWordFile:path];

    }

    return self;

}


- (void)parseWordFile:(NSString *)path

{

    //读取单词文件

    NSString *fileContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

    if (!fileContent) {

        return;

    }

    //分割字符串

    NSArray *words = [fileContent componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@",. \n"]];

    NSMutableArray *mulWords = [NSMutableArray array];

    for (NSString *item in words) {

        if (![item isEqualToString:@""]) {

            [mulWords addObject:[item lowercaseString]];

        }

    }

    //统计单词出现的次数, 并添加到字典中

    while ([mulWords count]) {

        NSString *key = [mulWords objectAtIndex:0];

        NSNumber *value = [NSNumber numberWithInteger:[self firstWordCountInArray:key withArray:mulWords]];

        [_wordList setObject:value forKey:key];

        [mulWords removeObject:key];

    }

}


- (NSInteger)firstWordCountInArray:(NSString *)word withArray:(NSMutableArray *)mulArray

{

    NSInteger cnt =0;

    for (NSString *item in mulArray) {

        if ([item isEqualToString:word]) {

            cnt++;

        }

    }

    return cnt;

}


+ (void)userInterface

{

    WordManger *manger = [[WordManger alloc] initWithFile:@"/Users/];

    NSInteger cnt;

    scanf("%li",&cnt);

    NSLog(@"keys = %@", [manger->_wordList allKeysForObject:[NSNumber numberWithInteger:cnt]]);

}


共有 人打赏支持
粉丝 0
博文 2
码字总数 347
×
为超越而来
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: