Java 错误:需要数组,但找到字符串
我已经为name和id声明了公共静态数组:Java 错误:需要数组,但找到字符串,java,arrays,Java,Arrays,我已经为name和id声明了公共静态数组: public static String[] name = new String[19]; public static int[] id = new int[19]; 但是java编译器说: java:70: error: array required, but String found java:71: error: array required, but int found 我不知道怎么了。这是我声明变量的方式还是我编写的方法 pu
public static String[] name = new String[19];
public static int[] id = new int[19];
但是java编译器
说:
java:70: error: array required, but String found
java:71: error: array required, but int found
我不知道怎么了。这是我声明变量的方式还是我编写的方法
public static boolean add(String name, int id, int i)
{
if (i < 20) {
name[i] = name;
id[i] = id;
return true;
}
else if (i > 20) {
for (int j = 0; j < id.length; j++) {
if (id[j] == 0 && name[j].equals("null"))
id[j] = id;
name[j] = name;
}
return true;
}
else
return false;
}
公共静态布尔添加(字符串名称、int-id、int-i)
{
如果(i<20){
名称[i]=名称;
id[i]=id;
返回true;
}
否则,如果(i>20){
对于(int j=0;j
密切注意如何使用变量name
(方法内部)是一个字符串
,但您正在对其进行数组元素访问。使用i
。对于id
,情况也是如此;它是一个int
,但您正在对其进行数组元素访问
你实际上是在隐藏你的静态变量,这会导致混乱和心痛
考虑将参数重命名为方法,或使用类名引用它们
要么:
public static boolean add (String theName , int theIds, int i)
或:
密切注意如何使用变量name
(方法内部)是一个字符串
,但您正在对其进行数组元素访问。使用i
。对于id
,情况也是如此;它是一个int
,但您正在对其进行数组元素访问
你实际上是在隐藏你的静态变量,这会导致混乱和心痛
考虑将参数重命名为方法,或使用类名引用它们
要么:
public static boolean add (String theName , int theIds, int i)
或:
静态
name
字符串数组与传递给add
方法的本地name
字符串变量之间存在冲突
最好的解决办法是使用不同的名称。这将使代码更容易理解
如果仍然坚持使用相同的名称,可以通过使用类名访问静态数组来解决名称冲突:
YourClassName.name[i]= name;
这同样适用于
id
int数组和id
int变量。静态name
字符串数组和传递给add
方法的本地name
字符串变量之间存在冲突
最好的解决办法是使用不同的名称。这将使代码更容易理解
如果仍然坚持使用相同的名称,可以通过使用类名访问静态数组来解决名称冲突:
YourClassName.name[i]= name;
这同样适用于id
int数组和id
int变量