重复Java数组
我是java新手,还在学习,所以请记住这一点。我正在尝试编写一个程序,用户可以在其中键入关键字,然后将其转换为数字,并将其放入数组中。我的问题是数组需要不断重复int 我的代码是:重复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'
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';
}
}