Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java字母循环重置为开始_Java - Fatal编程技术网

java字母循环重置为开始

java字母循环重置为开始,java,Java,我想创建一个循环,当你添加一个数字时,它会在字母表的那个位置给你一个等价的字符。例如,a=0,b=1等。。 我已经创建了它,它可以工作,但我的问题是,当它达到26时,我希望它返回并继续循环。例如,25是z,所以27应该是b 代码: char[]alphabet=“abcdefghijklmnopqrstuvxyz”.toLowerCase().toCharArray(); if(i25) { i=0; } 返回字符.toString(字母[i])//将字符转换为字符串并返回

我想创建一个循环,当你添加一个数字时,它会在字母表的那个位置给你一个等价的字符。例如,a=0,b=1等。。 我已经创建了它,它可以工作,但我的问题是,当它达到26时,我希望它返回并继续循环。例如,25是z,所以27应该是b

代码:

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;