gpt4 book ai didi

java - Java 找不到符号错误

转载 作者:行者123 更新时间:2023-12-02 05:09:59 27 4
gpt4 key购买 nike

所以我正在创建这个随机字符串生成器:

public class Test {
public static void main(String[] args) {
String strings = "abcdefghijklmnopqrstuvwxyz1234567890!@#$%&()ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Random generator = new Random(System.currentTimeMillis());
int stringLength = strings.length()-1;
Character character;
for (int i = 0; i < stringLength; i++) {
Double test = new Double(Math.random());
character = strings.charAt(test.intValue());
String outputString = outputString.concat(character.toString());
}
System.out.println(outputString);
}
}

我使用 javac Test.java 对其进行了编译,它给出了错误:第 14 行和第 16 行的 outputString 可能未初始化。因此,我将 String 关键字添加到第 14 行,现在它告诉我找不到符号:变量outputString

为什么会这样?

编辑:

好的,我接受了建议,这是当前的代码:

public class Test {
public static int randomInt(int min, int max, long seed) {
Random rand = new Random(seed);
int randomNum = rand.nextInt((max-min)+1) - min;
return randomNum;
}

public static void main(String[] args) {
String strings = "abcdefghijklmnopqrstuvwxyz1234567890!@#$%&()ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int stringLength = strings.length()-1;
Character character;
for (int i = 0; i < stringLength; i++) {
Double test = new Double(randomInt(0, stringLength, System.currentTimeMillis()));
character = strings.charAt(test.intValue());
System.out.print(character);
}
}
}

代码运行没有错误,但不打印任何内容。我目前正在使用命令提示符来编译它。

最佳答案

您仅在 for 循环内部定义 outputString。外部无法使用。

可以直接输出字符:

for (int i = 0; i < stringLength; i++) {
Double test = new Double(Math.random());
character = strings.charAt(test.intValue());
System.out.print(character);
}
System.out.println();

如果您坚持在循环中连接字符串,请改用StringBuilder

<小时/>

您将遇到的下一个问题:

Double test = new Double(Math.random());
strings.charAt(test.intValue());

这将始终获得第一个字符。 double 将介于 0(包含)和 1(不包含)之间。

您需要create a random integer between 0 and the length of your alphabet

关于java - Java 找不到符号错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27414099/

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