如何在objective c中从控制台输入整数的NSArray



我正在尝试使用Objective-c解决一些基本的算法和数据结构问题,我发现它有点难。我需要从控制台输入一个整数数组,最好的方法是什么?

请帮助我找到任何链接或文档。

谢谢,

编辑:计划如下:

  1. 从控制台读取并将输入保存为c-string。
  2. 将c-String转换为NSString,我们可以调用componentsSeparatedByString:方法。
  3. 这个方法返回一个由单个数字组成的nsstring的NSArray。之后我们循环NSArray,为每个字符串创建一个包含字符串内容的NSNumber,并将NSNumber存储在NSMutableArray中。
  4. 我们NSLog()的NSArray或者你可以做任何你想做的组件。

有趣的是:

NSMutableArray *numbersAsNumbersArray = [[NSMutableArray alloc] initWithCapacity:0];
char input[1000] = {};
scanf("%s", input);
NSString *inputString = [NSString stringWithCString:input encoding:NSUTF8StringEncoding];
NSArray *numbersAsStringsArray = [inputString componentsSeparatedByString:@","];
for (NSString *aNumberAsString in numbersAsStringsArray) {
    NSNumber *aNumber = @([aNumberAsString integerValue]);
    [numbersAsNumbersArray addObject:aNumber];
}
NSLog(@"%@", numbersAsNumbersArray);

输入: 3,5,6,7

输出: (3,5,6,7)

注意:大括号表示里面的数字存储在NSArray

最后但并非最不重要的东西阅读;)

NSArray Documentation及其可变子类NSMutableArray

NSString文档,特别是我们使用的方法

编辑2:正如Martin R在评论中提到的(谢谢!)这里是上面代码的简短版本:

NSMutableArray *numbersAsNumbersArray = [[NSMutableArray alloc] initWithCapacity:0];
char input[1000] = {};
scanf("%s", input);
NSArray *numbersAsStringsArray = [[NSString stringWithCString:input encoding:NSUTF8StringEncoding] componentsSeparatedByString:@","];
numbersAsNumbersArray = [numbersAsStringsArray valueForKey:@"integerValue"];
NSLog(@"%@", numbersAsNumbersArray);

相关内容

  • 没有找到相关文章

最新更新