检查序列号的算法

时间:2014-12-08 18:01:29

标签: objective-c

我需要一个算法来验证密码是一系列数字,尝试了一些,但我没有成功。有没有为此做好准备?

编辑:首先我用Java收到了这段代码,并尝试将其转换为objective-c:

public static boolean hasSequence(String value) {
    boolean result = true;
    char[] chars = value.toCharArray()
            ;
    for (int i = 1; i < chars.length; i++) {
        if(chars[i] - chars[i - 1] != 1) { // sequence is broken
            result = false;
            break;
        }
    }

    return result;
}

1 个答案:

答案 0 :(得分:1)

您可以直接将Jvaa代码转换为Objective-C - 将转换转换为char[],然后使用characterAtIndex:方法:

BOOL hasSequence(NSString value) {
    for (int i = 1; i < value.length; i++) {
        if([value characterAtIndex:i] - [value characterAtIndex:i - 1] != 1) {
            return NO;
        }
    }
    return YES;
}

请注意,您的Java代码并不关心字符是否为数字:将接受任何连续字符代码点序列,例如"ABCDEFG"