Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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_Arrays_Loops - Fatal编程技术网

重复Java数组

重复Java数组,java,arrays,loops,Java,Arrays,Loops,我是java新手,还在学习,所以请记住这一点。我正在尝试编写一个程序,用户可以在其中键入关键字,然后将其转换为数字,并将其放入数组中。我的问题是数组需要不断重复int 我的代码是: String keyword=inputdata.nextLine(); int[] key = new int[keyword.length()]; for (int k = 0; k < keyword.length(); ++k) { if (keyword.charAt(k) >= 'a'

我是java新手,还在学习,所以请记住这一点。我正在尝试编写一个程序,用户可以在其中键入关键字,然后将其转换为数字,并将其放入数组中。我的问题是数组需要不断重复int

我的代码是:

String keyword=inputdata.nextLine();
int[] key = new int[keyword.length()];
for (int k = 0; k < keyword.length(); ++k)
{
    if (keyword.charAt(k) >= 'a' && keyword.charAt(k) <= 'z')
    {
        key[k]= (int)keyword.charAt(k) - (int)'a';
    }
}
String关键字=inputdata.nextLine();
int[]key=newint[keyword.length()];
对于(int k=0;k如果(keyword.charAt(k)>='a'&&keyword.charAt(k)那么,首先通过一些重构来修复代码是最简单的。将
关键字.charAt(k)
的所有用法提取到局部变量:

for (int k = 0; k < keyword.length(); ++k)
{
    char c = keyword.charAt(k);
    if (c >= 'a' && c <= 'z')
    {
        key[k] = c'a';
    }
}
这是假设您实际上使
关键字
关键字
长,并且您可能也希望更改循环的上限。例如:

int[] key = new int[1000]; // Or whatever
for (int k = 0; k < key.length; ++k)
{
    char c = keyword.charAt(k % keyword.length());
    if (c >= 'a' && c <= 'z')
    {
        key[k] = c - 'a';
    }
}
int[]key=newint[1000];//或其他
对于(int k=0;k如果(c>='a'&&c不是++k,而是k+=keyword.length();您是否有意将key中的某些元素保留为0?
int[] key = new int[1000]; // Or whatever
for (int k = 0; k < key.length; ++k)
{
    char c = keyword.charAt(k % keyword.length());
    if (c >= 'a' && c <= 'z')
    {
        key[k] = c - 'a';
    }
}