从数组创建的字符串保持返回null

Hum*_*mus 1 java for-loop

String[] n = new String[8];

String name =  n[0] + n[1] + n[2] + n[3] + n[4] + n[5] + n[6] + n[7];

for(int x = 0; x < 8; x++)
{
    int h = 97;
    char j = (char) h;
    n[x] = String.valueOf(j);
}

System.out.println(name);
Run Code Online (Sandbox Code Playgroud)

所以我正在尝试随机化名称,但不断返回空值,所以我尝试缩小问题以及我可以并用作h = 97常量(这是我最初要随机化的变量)所以我可以肯定它不能超出范围.但是在for/loop中似乎出现了问题,因为我尝试name通过n[0] = String.valueOf(v);在几行上添加值来手动创建字符串,并且它工作得很好.

有帮助吗?

Jon*_*eet 5

name 修改数组中的任何值之前,您将连接数组中的值并分配结果...即,当数组的每个元素都是时null.只需移动此行:

String name =  n[0] + n[1] + n[2] + n[3] + n[4] + n[5] + n[6] + n[7];
Run Code Online (Sandbox Code Playgroud)

收到环代替.

为了简化生活,您可能希望使用char数组:

char[] array = new char[8];
for (int x = 0; x < 8; x++)
{
    array[x] = (char) 97; // Or whatever
}
String name = new String(array);
System.out.println(name);
Run Code Online (Sandbox Code Playgroud)