#objective-c
#objective-c
Вопрос:
Я хочу создать простую программу для моего класса теории чисел. Мы изучаем шифрование.
Основное шифрование, которое я хочу продемонстрировать, продемонстрировано в этом примере:
Возьмите фразу «БЕРЕГИ СЕБЯ»
как
TA KE -C AR E-
где TA преобразуется в 2001, потому что T — это 20-я буква в алфавите, а A — первая.
Ответ №1:
Что ж, поскольку вы, похоже, ограничиваетесь ASCII, тогда вам должно быть удобно использовать -UTF8String
of строки:
NSString *source = @"TAKE CARE";
source = [source lowercaseString]; //normalize the capitalization
const char *characters = [source UTF8String];
for (NSUInteger i = 0; i < [source length]; i) {
const char character = characters[i];
if (character >= 'a' amp;amp; character <= 'z') {
int positionInAlphabet = character - 'a' 1; // this means "a" is "1"
NSLog(@"%c = %d", character, positionInAlphabet);
} else {
NSLog(@"non-letter: %c", character);
}
}
Комментарии:
1. вопросы: 1) у меня есть текстовое поле для ввода в текстовую строку, и я хочу перенести его в исходный код NSString *. я когда-либо видел NSString только с записанной строкой, есть ли другой тип строки для извлечения данных из окна? 2) куда выполняется печать NSLog? я хочу, чтобы четырехзначная строка чисел была преобразована в целое число, а не просто распечатана, чтобы я мог выполнять с ними математические вычисления.
2. Я понял это … 1) Я заменил @»Take Care» на [messsage stringValue] и 2) он выводится в окно консоли, но для фактического размещения текста в поле мне нужно вызвать [answerField setStringValue]