这是我的代码的一部分:
// randomly create lowercase ASCII values
int rLowercase1 = random.nextInt(122) + 97;
// convert ASCII to text
System.out.print((char)rLowercase1);
当我运行我的程序时,它会显示符号而不是小写字母。有什么办法可以解决这个问题,让它显示小写字母?
这是我的代码的一部分:
// randomly create lowercase ASCII values
int rLowercase1 = random.nextInt(122) + 97;
// convert ASCII to text
System.out.print((char)rLowercase1);
当我运行我的程序时,它会显示符号而不是小写字母。有什么办法可以解决这个问题,让它显示小写字母?
怎么样
rLowercase1 = 'a' + random.nextInt('z' - 'a' + 1);
字母表中的字母数可以用'z' - 'a' + 1= 25 + 1=计算26。
由于random.nextInt(n)将从范围返回值[0; n)-n被排除在外 - 这意味着您可以获得'a'+0='a'作为最小值和'a'+25='z'作为最大值。
换句话说,您的字符范围是从'a'直到'z'(都包括在内)。
将您的代码更改为:
int rLowercase1 = random.nextInt(26) + 97; // it will generate a-z
只有 26 个小写字母:
int rLowercase1 = random.nextInt(26) + 97;
如果您只想要 26 个无重音拉丁字母,请将 122 更改为 26:
int rLowercase1 = random.nextInt(26) + 97;
我觉得这样写的话意思会更清楚一点:
int rLowercase1 = 'a' + random.nextInt(26);