Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 - Fatal编程技术网

Java 错误:需要数组,但找到字符串

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

我已经为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
我不知道怎么了。这是我声明变量的方式还是我编写的方法

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变量