java字母循环重置为开始
我想创建一个循环,当你添加一个数字时,它会在字母表的那个位置给你一个等价的字符。例如,a=0,b=1等。。 我已经创建了它,它可以工作,但我的问题是,当它达到26时,我希望它返回并继续循环。例如,25是z,所以27应该是b 代码:java字母循环重置为开始,java,Java,我想创建一个循环,当你添加一个数字时,它会在字母表的那个位置给你一个等价的字符。例如,a=0,b=1等。。 我已经创建了它,它可以工作,但我的问题是,当它达到26时,我希望它返回并继续循环。例如,25是z,所以27应该是b 代码: char[]alphabet=“abcdefghijklmnopqrstuvxyz”.toLowerCase().toCharArray(); if(i25) { i=0; } 返回字符.toString(字母[i])//将字符转换为字符串并返回
char[]alphabet=“abcdefghijklmnopqrstuvxyz”.toLowerCase().toCharArray();
if(i<0)
{
返回null;
}
如果(i>25)
{
i=0;
}
返回字符.toString(字母[i])//将字符转换为字符串并返回该字符
}
您可以在i
上使用模运算
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toLowerCase().toCharArray();
int i =30;
System.out.println(alphabet[i % alphabet.length]);
您根本不需要任何数组或循环。只要这样做:
return (char)('a' + (i % 26));
尝试对索引使用模运算符。比如说,
char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toLowerCase().toCharArray();
if (i < 0) return;
i = i % 26;
return Character.toString(alphabet[i]);
使用%运算符。循环在代码中的位置是什么?这里不是应该是26吗?我使用了
i=30
作为示例
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;