簡體   English   中英

為字母分配數字的簡便方法

[英]Easier way to assign numbers to letters

我是Java編程(和一般編程)的新手,並且想知道是否有一種更簡單的方法可以這么說。 基本上,我只是想為字母分配數字。 這是我知道如何執行此操作的唯一方法,但是我敢肯定,在Java中有一種更簡單的方法可以執行此操作。 感謝社區提供的任何幫助。

注意:codeLetter是一個字符,其余部分是一個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';
}

等等...

如果您的余數小於或等於26,則可以使用-

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

如果字母分配是字母順序的,則可以依靠這樣的事實,即拉丁字母的UNICODE代碼點是按字母順序排列的。 如果需要定義任意分配,則可以將String用作“鍵”:將要編碼的字母放入字符串中,按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);

嘗試使用switch 或者,如果您不需要自己分配數字值,請使用Character.getNumericValue()

或查看這篇可能最合適的文章:利用字符的ASCII表示。

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

這涵蓋了remainder為負的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM