public class CodeHelper {
char[] str = { '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', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
/**
*
* @param code
* the user's invitation code
* @return the id of user ,if not exit return -1;
*/
public int getIdFromCode(String code) {
String strTemp = new StringBuffer(code).reverse().toString();
char[] temp = strTemp.toCharArray();
int sum = 0;
for (int i = 0; i < temp.length; i++) {
int pos = getIndexOf(temp[i]);
if (pos == -1) {
return -1;
}
sum += pos * (Math.pow(36, i));
}
return sum;
}
/**
*
* @param ch
* the code
* @return the index of the character ,if not in array return -1
*/
public int getIndexOf(char ch) {
for (int i = 0; i < str.length; i++) {
if (str[i] == ch) {
return i;
}
}
return -1;
}
/**
*
* @param id
* user_id
* @return the invitation code
*/
public String getCode(int id) {
StringBuffer sb = new StringBuffer();
int i = id;
while (i >= 36) {
sb.append(str[i % 36]);
i = i / 36;
}
sb.append(str[i]);
sb.append("aaaa");
return new StringBuffer().append(sb.substring(0, 4)).reverse()
.toString();
}
}
char[] str = { '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', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
/**
*
* @param code
* the user's invitation code
* @return the id of user ,if not exit return -1;
*/
public int getIdFromCode(String code) {
String strTemp = new StringBuffer(code).reverse().toString();
char[] temp = strTemp.toCharArray();
int sum = 0;
for (int i = 0; i < temp.length; i++) {
int pos = getIndexOf(temp[i]);
if (pos == -1) {
return -1;
}
sum += pos * (Math.pow(36, i));
}
return sum;
}
/**
*
* @param ch
* the code
* @return the index of the character ,if not in array return -1
*/
public int getIndexOf(char ch) {
for (int i = 0; i < str.length; i++) {
if (str[i] == ch) {
return i;
}
}
return -1;
}
/**
*
* @param id
* user_id
* @return the invitation code
*/
public String getCode(int id) {
StringBuffer sb = new StringBuffer();
int i = id;
while (i >= 36) {
sb.append(str[i % 36]);
i = i / 36;
}
sb.append(str[i]);
sb.append("aaaa");
return new StringBuffer().append(sb.substring(0, 4)).reverse()
.toString();
}
}