2017-04-10 254 views
-1

我正在寻找将数字转换为字母表中相应的字母。将int转换为char

+0

[试试这个帖子(http://stackoverflow.com/questions/5328996/java-change-int-to-ascii)问题已经被问StackOverflow的 –

+0

术语字母是不是很精确,一个号码的相应字母系统不清楚。我熟悉来自A-Z的26个字母的英文字母以及将它们编号为1到26的想法。但是,Java使用Unicode来表示文本数据类型。对于这些字母(小写字母和大写字母),Unicode至少有两种形式,以及一些具有部分或全部字母的专用脚本。它对每个字符都有自己的[编号系统](http://www.unicode.org/charts/nameslist/index.html)(通常以十六进制编写,如U + 0041)。你是这个意思吗? –

回答

-1

我认为你可以这样做:

char a = (char)20; 
0

试试这个

Random rand = new Random(); 
int TargetNumber = rand.nextInt(25) + 1; 
char c = (char)(TargetNumber+96); 

这增加96所产生的价值,然后类型转换它变成一个char。这适用于a-z。通过A-Z取代96,由64取代。

+0

downvoter,谨慎解释? –

2

如所见here字母字符从65或97开始(取决于大小写),因此您只需将64或96添加到您的值中,然后将其转换为字符。

Random rand = new Random(); 
int TargetNumber = rand.nextInt(25) + 1; 
char TargetChar = (char) (TargetNumber+64); 
+0

我想要相应的小写字母,所以我加96?谢谢您的帮助! – java1234

+0

是的,'char TargetChar =(char)(TargetNumber + 96);'会给你小写char – Nasto