更容易为字母分配数字的方法

时间:2014-09-22 20:09:11

标签: java

我是java编程(以及一般编程)的新手,并且想知道是否有更简单的方法来说这个。基本上,我只想尝试为字母分配数字。这是我知道如何执行此操作的唯一方法,但我确信在java中执行此操作的方法要简单得多。感谢社区给予我的任何帮助。

注意:codeLetter是一个char,余数是一个int。

if (remainder <= 0)
{
    codeLetter = 'A';
}
else if (remainder <= 1)
{
    codeLetter = 'B';
}
else if (remainder <= 2)
{
    codeLetter = 'C';
}
else if (remainder <= 3)
{
    codeLetter = 'D';
}
else if (remainder <= 4)
{
    codeLetter = 'E';
}

等...

4 个答案:

答案 0 :(得分:10)

如果你的余数小于或等于26,你可以使用 -

codeLetter = (char) ('A' + remainder);

答案 1 :(得分:4)

如果字母分配是按字母顺序排列的,您可以依赖拉丁字母的UNICODE代码点按字母顺序排列的事实。如果您需要定义任意分配,可以使用String作为&#34;键&#34;:将要编码的字母放在字符串中,按remainder排序,并使用charAt提取相应的字母:

// Let's say you want to re-order your letters in some special way
String key = "QWERTYUIOPASDFGHJKLZXCVBNM";

// Now you can obtain the letter like this:
char letter = key.charAt(remainder);

答案 2 :(得分:3)

尝试使用switch。如果您不需要自己分配数值,请使用Character.getNumericValue()

或者查看最合适的this post:使用字符的ASCII表示。

答案 3 :(得分:1)

if(remainder <= 0)
    codeLetter = 'A';
else
    codeLetter = 'A' + remainder;

这涵盖remainder为负面的情况。