我想创建一个循环,当你添加一个数字时,它会为你提供字母表中该位置的等效字符。例如,a = 0,b = 1等。 我已经创建了它并且它可以工作,但我遇到的问题是当它达到26时,我希望它返回并继续循环。例如,25是z,所以27应该是b。
代码:
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toLowerCase().toCharArray();
if (i < 0)
{
return null;
}
if(i > 25)
{
i = 0;
}
return Character.toString(alphabet[i]); //converts character to String and returns the character
}
答案 0 :(得分:3)
您可以在i
上使用模数操作。
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toLowerCase().toCharArray();
int i =30;
System.out.println(alphabet[i % alphabet.length]);
答案 1 :(得分:1)
根本不需要任何数组或循环。就这样做:
return (char)('a' + (i % 26));
答案 2 :(得分:1)
尝试使用模数运算符作为索引。例如,
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toLowerCase().toCharArray();
if (i < 0) return;
i = i % 26;
return Character.toString(alphabet[i]);
或者
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toLowerCase().toCharArray();
if (i > 0)
return Character.toString(alphabet[i % 26]);
else
return;