gpt4 book ai didi

java - 如何通过所有可能性递增 java String?

转载 作者:太空狗 更新时间:2023-10-29 22:36:08 25 4
gpt4 key购买 nike

我需要将 java 中的字符串从“aaaaaaaa”递增到“aaaaaab”再到“aaaaaac”,然后最终递增到“aaaaaaba”到“aaaaaabb”等。

有什么技巧吗?

最佳答案

你基本上是在实现一个 Base 26 number system前导“零”(“a”)。

将 int 转换为 base-2 或 base-10 String 的方式相同,但不是使用 2 或 10,而是使用 26,而不是 '0' 作为基数,而是使用 'a' .

在 Java 中你可以很容易地使用这个:

public static String base26(int num) {
if (num < 0) {
throw new IllegalArgumentException("Only positive numbers are supported");
}
StringBuilder s = new StringBuilder("aaaaaaa");
for (int pos = 6; pos >= 0 && num > 0 ; pos--) {
char digit = (char) ('a' + num % 26);
s.setCharAt(pos, digit);
num = num / 26;
}
return s.toString();
}

然后,基本思想是不存储字符串,而只存储一些计数器(int、int 或 long,具体取决于您的要求)并根据需要将其转换为字符串。这样您就可以轻松地增加/减少/修改您的计数器,而无需解析和重新创建字符串。

关于java - 如何通过所有可能性递增 java String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/342052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com