Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 将拆分字符串分配给已解析的int_Java_Arrays_String_Int_Parseint - Fatal编程技术网

Java 将拆分字符串分配给已解析的int

Java 将拆分字符串分配给已解析的int,java,arrays,string,int,parseint,Java,Arrays,String,Int,Parseint,我遇到了这个错误,我不知道如何修复它 错误: 不兼容类型 找到:int 必需:int[] 数组[x]=Integer.parseInt(元素[0]) 这是我的方法的代码。所使用的文件是一个1000个数字的文本文件,每行2个,500行,用逗号分隔 示例: 1,2 16,92 109,7 此块的目的是读取文本文件的所有行,并将所有数字指定给二维整数数组 public static int[][] writeTypes(){ String position; String[] elem

我遇到了这个错误,我不知道如何修复它

错误:
不兼容类型
找到:int
必需:int[]

数组[x]=Integer.parseInt(元素[0])

这是我的方法的代码。所使用的文件是一个1000个数字的文本文件,每行2个,500行,用逗号分隔

示例:

1,2
16,92
109,7

此块的目的是读取文本文件的所有行,并将所有数字指定给二维整数数组

public static int[][] writeTypes(){
    String position;
    String[] elements = new String[2];
    int x;
    int y=1;
    int array[][] = new int[500][2];
    File TypesFile = new File("Types.txt");

    try {
        Scanner twoput = new Scanner(pkTypesFile);
        for(x = 0; twoput.hasNext(); x++){
            position = twoput.nextLine();
            elements = position.split(",", 2);

            array[x] = Integer.parseInt(elements[0]); 
            array[x][y] = Integer.parseInt(elements[1]);

            System.out.println(array[x] + " " + array[x][y]);
        }
    } catch (Exception e) {
        System.err.format("Types File does not exist.\n");
    }
    return array;
}

您似乎对索引到多维数组感到困惑
array
是一个二维数组,这意味着它是一个数组数组
new int[500][2]
创建一个长度为500的数组,其中每个元素都是长度为2的
int[]
,每个元素都是一个int。表达式
array[x]
选择长度为2的500个
int[]
数组中的一个。编译错误表示无法将int赋值给
int[]
。您需要提供另一个索引来选择由
array[x]
表示的数组中的一个整数

具体来说,你应该改变

array[x] = Integer.parseInt(elements[0]); 
array[x][y] = Integer.parseInt(elements[1]);
System.out.println(array[x] + " " + array[x][y]);


第二个索引选择
int[]
中的一个int,然后可以分配给它。

数组是一个二维数组。当您执行
array[x]=Integer.parseInt(元素[0])时
这就像做
int[]someArr=anInt
,这是无效的(因为
Integer.parseInt
返回一个整数)。@ZouZou你应该给出答案
array[x][0] = Integer.parseInt(elements[0]); 
array[x][1] = Integer.parseInt(elements[1]);
System.out.println(array[x][0] + " " + array[x][1]);