如何优化以下代码片段?我正在创建要填充在 2D 数组中的空间对象以充当棋盘,并使用它来创建更标准的命名系统。
String name = null;
for(int r = 7; r > -1; r--)
for(int c = 0; c < 8; c++)
{
if(c == 0)
name = "A";
else if(c == 1)
name = "B";
else if(c == 2)
name = "C";
else if(c == 3)
name = "D";
else if(c == 4)
name = "E";
else if(c == 5)
name = "F";
else if(c == 6)
name = "G";
else
name = "H";
final static char[] letters = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
:
for (int c=0; c<8; c++) {
name = letters[c];
:
这有一个名字作为一个char
- 它真的需要一个字符串吗? 如果是这样,请进行明显的更改。如果您关心效率,请将字母定义为 String[],而不是从 char-to String 的运行时转换。
您可以遍历字符并将其更改为如下所示的字符串:
for (int r=7; r >= 0; r--) {
for (char c='A'; c <= 'H'; c++) {
name = c + "";
您从未完成for
循环,但这里有一种方法可以优化您到目前为止向我们展示的内容:
String name = null;
String letters = "ABCDEFGH";
for (int r=7; r >= 0; r--) {
for (int c=0; c < 8; c++) {
name = letters.charAt(c) + "";
// the rest of your logic
}
}
"A"的 ASCII 代码是 65,"H"的 ASCII 代码是 72。然后,你可以做这样的事情
for (int r = 7; r > -1; r--) {
for(int c = 65; c < 73; c++) {
name = Character.toString((char) c);
//or
name = "" + (char) c;
}
}