gpt4 book ai didi

java - 创建一个很长的字符串并克服运行时间

转载 作者:行者123 更新时间:2023-11-29 06:49:56 25 4
gpt4 key购买 nike

任何人都可以帮助减少运行此代码的时间吗?

这不是实际代码,它只是我的一个项目的一部分:

import java.util.*;

class testing{
public static void main(String[] args) {
String s="";

for(long i=0L;i<10000000000L;i++)
s+=String.valueOf(Character.toChars((int)(Math.random()*26+97)));

System.out.println(s.length()+"\n"+s);
}
}

最佳答案

1) 通过设置所需的容量来实例化 StringBuilder:

 new StringBuilder(wishedSize)

2) 你创建了一个随机的 double 但你将它转换为 int :

(int)(Math.random()*26+97)

因此您可以在循环之前使用您自己的 Random 对象并调用 nextInt()

3) 正如安迪强调的那样(我没有注意到),你会在最后看到一系列小写字母。
您可以使用 Random.nextInt(int) 获取 97 到 122 之间的数字(小写字母的 unicode 范围),例如:

final int maxRange = 122 - 97;
Random random = new Random();
for (long i = 0L; i < 100L; i++) {
int codePoint = random.nextInt(maxRange) + 97;
// ...
}

此外,通过这种方式,您只需对返回的随机值执行 1 次算术计算,而不是之前的 2 次。

关于java - 创建一个很长的字符串并克服运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51883960/

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