有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中创建id的算法

经过几个小时的努力,我找不到解决问题的办法。 我想生成一个id,其生成方式如下:

  • 我希望我的id由字符数组中的字符生成。对于以下示例,我将使用以下数组:[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,1,2,3,4,5,6,7,8,9,0]

  • 我希望生成我的id,以便我的前36个id是数组中的字符,然后我希望id是两个字符长,并考虑所有可能的情况。 这有点像某个地方的蛮力算法

如果你们有什么想法或问题,请告诉我。 我还是个编程高手

(注意,我希望id由返回字符串的方法生成)

尝试:

public String generate() {
        char[] s = new char[charset.length];
        if (firstIndex == charset.length) {
            firstIndex = 0;
            secondIndex++;
            index++;
        }
        if (secondIndex == charset.length) {
            secondIndex = 0;
            thirdIndex++;
        }
        if(index>charset.length){
            index=charset.length;
        }
        for (int i = 0; i < index; i++) {
            s[i] += charset[secondIndex];
        }

        s[thirdIndex] = charset[firstIndex];

        firstIndex++;
        String result = "";
        for (char c : s) {
            result+=c;
        }
        return result;
    }

共 (1) 个答案

  1. # 1 楼答案

    “如果顺序可以是0-9然后是a-z,那么你可以使用Long.toString(inputNumber, Character.MAX_RADIX),其中Character.MAX_RADIX是36。这正好给出了你想要的,除了先使用数字,然后是字母。”