2011-09-11 2 views
1

임의의 문자 문자열 을 만드는 가장 좋은 방법을 알고 싶지만 몇 가지 간단한 규칙을 알고 싶습니다.규칙이있는 임의의 문자 문자열 만들기

예를 들어

:

맥 OSX 용 응용 프로그램의이 것 일부 (사용자 정의 길이, 단 하나의 E를 포함 할 수 있습니다 만 2-4 'S'를 포함 할 수있다), 및 사용자 정의 항목에있을 것입니다 UI. 사용자가 매개 변수를 설정하고 "Generate"버튼을 누릅니다. 출력이 NSTextField에 표시됩니다. 물론 저는 UI 부분을 처리 할 수 ​​있다고 생각합니다. 누군가 샘플 코드를 포함하고자 할 때만 나타납니다. 감사합니다. .

답변

2

이 방법은 작동하지만 이론적으로는 종료되지 않을 수 있습니다. 관련없는 Es와 Ss를 다른 문자로 교체하여 강제 종료하는 것이 좋습니다.

사용자가 입력 한 길이가 2이면 확실히 반복됩니다.

 BOOL canQuit = NO; 
     while (!canQuit) 
     { 
      NSMutableString *output = [[[NSMutableString alloc] init] autorelease]; 
      while ([output length] < userDefinedLength) 
      { 
       //Generates a random character between a and z; 
       char c = ((arc4random() % (122 - 96)) + 97); 
       [output appendFormat:@"%c", c]; 
      } 
      NSLog(@"%@", output); 
      int numberOfE = [output replaceOccurrencesOfString:@"e" withString:@"e" options:NSCaseInsensitiveSearch range:NSMakeRange(0, output.length)]; 
      int numberOfS = [output replaceOccurrencesOfString:@"s" withString:@"s" options:NSCaseInsensitiveSearch range:NSMakeRange(0, output.length)]; 

      canQuit = (numberOfE <= 1 && numberOfS >= 2 && numberOfS <= 4); 
     }