java ASCII转换

java ASCII转换,java,ascii,data-conversion,Java,Ascii,Data Conversion,以下是我的部分代码: // randomly create lowercase ASCII values int rLowercase1 = random.nextInt(122) + 97; // convert ASCII to text System.out.print((char)rLowercase1); 当我运行程序时,它会显示符号而不是小写字母。是否有任何方法可以修复此问题,使其显示小写字母?将代码更改为: int rLowercase1 = random.nextIn

以下是我的部分代码:

 // randomly create lowercase ASCII values
 int rLowercase1 = random.nextInt(122) + 97;

 // convert ASCII to text
 System.out.print((char)rLowercase1);
当我运行程序时,它会显示符号而不是小写字母。是否有任何方法可以修复此问题,使其显示小写字母?

将代码更改为:

int rLowercase1 = random.nextInt(26) + 97; // it will generate a-z
将代码更改为:

int rLowercase1 = random.nextInt(26) + 97; // it will generate a-z

只有26个小写字母:

int rLowercase1 = random.nextInt(26) + 97;

只有26个小写字母:

int rLowercase1 = random.nextInt(26) + 97;

如果只需要26个无重音的拉丁字母,请将122更改为26:

int rLowercase1 = random.nextInt(26) + 97;
如果这样写的话,我想这句话的意思会更清楚一些:

int rLowercase1 = 'a' + random.nextInt(26);

如果只需要26个无重音的拉丁字母,请将122更改为26:

int rLowercase1 = random.nextInt(26) + 97;
如果这样写的话,我想这句话的意思会更清楚一些:

int rLowercase1 = 'a' + random.nextInt(26);
怎么样

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'
(两者都包括在内)。

怎么样

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'
(两者都包括)。

避免使用幻数()。这个问题是为什么幻数不好的另一个例子。避免使用幻数()。这个问题是为什么幻数不好的另一个例子。