我是Java程序员是“必须”转移到OBJ-C一会儿,创建随机字母数字上的IOS
我产生随机的字母数字代码时,得到了一些混淆......我在这里的javacode:
PS:我想产生这样的代码:Gh12PU67,AC88pP13,Bk81gH89
private String generateCode(){
String code = "";
Random r = new Random();
char[] c = new char[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
for(int i = 0; i<4; i++){
int uplow = r.nextInt(2);
String temp = ""+ c[r.nextInt(c.length)];
if(uplow==1)
code = code + temp.toUpperCase();
else
code = code + temp;
if((i+1)%2==0){
code += r.nextInt(10);
code += r.nextInt(10);
}
}
return code;
}
然后我创建OBJ-C
-(void)generateCode{
NSString *alphabet = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY";
NSMutableString *s = [NSMutableString stringWithCapacity:4];
for (NSUInteger i = 0U; i < 4; i++) {
u_int32_t r = arc4random() % [alphabet length];
unichar c = [alphabet characterAtIndex:r];
[s appendFormat:@"%C", c];
}
NSLog(@"s-->%@",s);
}
但我得到 “HpNz” 的结果AC88pP13 insted的那个的hve模式字符串,字符串,数字,数字,lowescase字符串,数字,数字...
这种情况下,螺纹我的生活3天...
首先,你需要从0到去8,如果你想为8个字符。然后,为字符串的每个部分使用单独的字母表。 – 2013-11-09 08:25:47
hi @ H2CO3你能帮我解决这个问题吗?我是完全新手和这种语言的菜鸟:( – YAZID
你的代码有正确的结构,但你还没有尝试复制逻辑。这不是一个语言问题,你只是没有做一个完整的映射 – Wain