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

从字符串数组列表转换为整数数组(Java)

从字符串数组列表转换为整数数组(Java),java,Java,我有一个名为lines的ArrayList。它包含一个文本文件,其中有许多0和1被逗号分割。我的问题是尝试将此arraylist转换为整数数组。我试过以下方法,但仍在努力。我错过了什么 int[][] result = new int [lines.size()][]; for (int i = 0; i<result.length; i++) { result.add(Integer.valueOf(lines.getString(i))); }

我有一个名为lines的ArrayList。它包含一个文本文件,其中有许多0和1被逗号分割。我的问题是尝试将此arraylist转换为整数数组。我试过以下方法,但仍在努力。我错过了什么

    int[][] result = new int [lines.size()][];
    for (int i = 0; i<result.length; i++) {
        result.add(Integer.valueOf(lines.getString(i)));
    }
int[][]结果=新的int[lines.size()][];

对于(int i=0;i如果您真的只想将每一行解析为单个数字:

int[] result = new int [lines.size()];
for(int i = 0; i<result.length; i++) {
    result[i] = Integer.parseInt(lines.get(i)); 
}
int[]结果=新的int[lines.size()];

对于(int i=0;i如果您只希望在新数组中使用0和1,则需要使用if语句以确保数组中不包含逗号

代码如下:

enter code here
    int[] result = new int [lines.size()];
    for(int i = 0; i<result.length; i++) {
        if(!lines.get(i).equals(","))
            result[i] = Integer.parseInt(lines.get(i)); 
在此处输入代码
int[]结果=新的int[lines.size()];

对于(int i=0;i可能是@alexanders916的重复项),我猜这是因为列表“包含一个由逗号分割的大量0和1的文本文件”,所以从包含值“1,0,0”
“0,0,1”`OP可能想要得到像
[[1,0,0],[0,0,1]这样的2D数组
。但是,是的,应该澄清问题以避免猜测。您能提供一个lines ArrayList包含哪些内容的示例吗?请更具体地说明您所处的位置。最好是错误消息或错误结果。将
int[][]结果=新的int[lines.size()]];
替换为
int[]结果=新的int[lines.size()];
在第二个代码块中,没有用于
数组的
添加
函数
int[][] result = new int [lines.size()][];
for(int i = 0; i<result.length; i++) {
    String[] nums = lines.get(i).split(",");
    result[i] = new int[nums.length];
    for (int j=0; j<nums.length; j++){
      result[i][j] = Integer.parseInt(nums[j]);
    }
}
enter code here
    int[] result = new int [lines.size()];
    for(int i = 0; i<result.length; i++) {
        if(!lines.get(i).equals(","))
            result[i] = Integer.parseInt(lines.get(i)); 
enter code here

    int[] result = new int [lines.size()];
    for(int i = 0; i<result.length; i++) {
        if(!lines.get(i).equals(","))
            result[i] = Integer.parseInt(lines.get(i)); 
        else
            result[i] = lines.get(i).charAt(0);