1

私がこれを持っている場合:

int toSplit = 208;

それを分割する最良の方法は何ですか?

2
0
8
4

4 に答える 4

3

メソッドは次のようになります

- (NSMutableArray *) toCharArray : (NSString *) str
{

    NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[str length]];
    for (int i=0; i < [str length]; i++)
    {
        NSString *ichar  = [NSString stringWithFormat:@"%c", [str characterAtIndex:i]];
        [characters addObject:ichar];
    }

    return characters;
}
于 2012-10-24T09:02:53.257 に答える
2
do {
  int digit = toSplit % 10;
  toSplit /= 10;

  printf(@"%i", digit);

} while (toSplit > 0);

宿題ではないといいのですが。

編集:それは後方にあるので、それは有効な答えではありません...しかし、それはまだ他の人にとって有用である可能性があるので、ここに残しておきます。

于 2012-10-24T09:00:34.653 に答える
0

私はObjective-Cの構文に慣れていませんが、次のようなものです:

void split(int toSplit)
{ 
    if (!toSplit)
    {
        return;
    }
    split(toSplit / 10);
    int digit = toSplit % 10;
    printf(@"%i", digit);
}
于 2012-10-24T09:24:59.777 に答える
0

それをひもに並べてから、引き離します。このように:

int toSplit = 208;

NSString *string = [NSString stringWithFormat: @"%i", toSplit];

NSMutableString *splitApartString = [[NSMutableString alloc] init];

for (int i = 0; i < [string length]; i++) {

    NSString *substring = [string substringFromIndex: i];  

    [splitApartString appendFormat: @"%@\n", substring];  
}

NSLog(@"%@", splitApartString); //YAY!

つまり、これが行うことは、この int を文字列に入れ、それを分割し、各文字を反復処理して、その文字から文字列を取得することです。次に、その部分文字列を NEW 文字列に追加します。

もう 1 つの方法は、部分文字列を取得する代わりに、char を取得して%c演算子を使用することです。また、このコードを見ると、次の出力が表示されます。

> 2

> 0

> 8

> // extra space here

文字列の長さが1であるかどうかを確認する条件を追加するだけでi、スペースを追加しないか、最後の文字を削除することができます!

于 2012-10-24T09:03:11.040 に答える