我需要编写一个程序,该程序将生成随机字母,并且需要将该随机字符存储到数组中
char[] arrayRandom = new char[10];
for (int i = 0; i < 8; i++) {
randomNumLet = (generator.nextInt(20) + 1);
System.out.print(arrayRandomLetter[randomNumLet] + " ");
arrayRandomLetter[randomNumLet] = arrayRandom[i];
}
我的代码有什么问题吗?
因为当我运行它并打印数组时,我得到了数组中所有值的框,并且有一些字母这行代码无法打印
System.out.print(arrayRandomLetter[randomNumLet] + " ");
谢谢
最佳答案
您要为arrayRandomLetter
的元素分配arrayRandom
中的值。由于您从未初始化arrayRandom
,因此其值全为0。0不是可打印字符的值,因此不是框。
选择随机字符的一种简单方法是这样的:
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char randomChar = chars.charAt(random.nextInt(chars.length()));