public static void main(String[] args)
{
final int ELEMENTS = 13;
//int[] array = new int[ELEMENTS];
char[] array1 = new char[ELEMENTS];
printWord(array1);
}
public static void printWord(char[] array)
{
Random random = new Random();
int[] letters = new int[array.length];
for(int index = 0; index < array.length; index++)
{
letters[index] = random.nextInt(122)+97;
System.out.println(letters[index]);
}
System.exit(0);
}
我的问题出现在方法printword()中。当它为for循环中的字母分配一个随机整数时,随机方法将97添加到122而不是97-122之间的随机数。 问题:我总是以这种方式构建我的随机方法,现在它不工作原因?你可以帮我替代吗?
答案 0 :(得分:0)
要在两个给定值之间生成随机数,请使用以下技术
int lowerBound = 97;
int upperBound = 127;
int randomValueInBound = random.nextInt(upperBound-lowerBound) + lowerBound
此外,您必须将整数转换为字符以显示字符,但我猜您已经知道
System.out.println((char)letters[index]);
答案 1 :(得分:0)
您的代码存在一些问题,这可能会对您有所帮助
public static void printWord(char[] array)
{
Random random = new Random();
int[] letters = new int[array.length];
for(int index = 0; index < array.length; index++)
{
letters[index] = random.nextInt((122+1) - 97) + 97;
System.out.println((char)letters[index]);
}
System.exit(0);
}
请refer了解更多信息