Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 NumberFormatException:对于输入字符串:“2,”_Java - Fatal编程技术网

Java NumberFormatException:对于输入字符串:“2,”

Java NumberFormatException:对于输入字符串:“2,”,java,Java,我是Java新手,我正在尝试读取文件并将文件内容读取到2d数组,但我得到: 线程主java.lang.NumberFormatException中的异常:对于输入字符串:2 这是我的密码 import java.io.*; import java.util.LinkedList; import java.util.List; import java.util.Scanner; public class File { public static void main(String[] args)

我是Java新手,我正在尝试读取文件并将文件内容读取到2d数组,但我得到:

线程主java.lang.NumberFormatException中的异常:对于输入字符串:2

这是我的密码

import java.io.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class File {

public static void main(String[] args) throws Exception {
    String s[] = {"hello the you", "23"};
    Scanner input = new Scanner(new BufferedReader(new FileReader("hello.txt")));
    int x = 10;
    int y = 10;
    int[][] desktop = new int[x][y];
    while (input.hasNextLine()){
        for (int i = 0; i <desktop.length ; i++) {
            String[] line = input.nextLine().trim().split(" ");
            for (int j = 0; j <line.length ; j++) {
                desktop[i][j] = Integer.parseInt(line[j]);
            }

        }
    }
    for (int i = 0; i <desktop.length ; i++) {
        for (int j = 0; j <desktop[i].length ; j++) {
            System.out.print(desktop[i][j] + " ");
        }
    }


}

}

输出应存储在2d数组中。

更改input.nextLine.trim.split;要输入.nextLine.trim.split;。这将删除导致您出现问题的。

更改input.nextLine.trim.split;要输入.nextLine.trim.split;。这将删除导致您出现问题的。

以下任一项都可以工作:

String[] line = input.nextLine().split(",");
for (int j = 0; j < line.length; j++) {
    desktop[i][j] = Integer.parseInt(line[j].trim());
}

以下任一项均有效:

String[] line = input.nextLine().split(",");
for (int j = 0; j < line.length; j++) {
    desktop[i][j] = Integer.parseInt(line[j].trim());
}

Do.split,而不是.split..split\\s*,\\s*问题是逗号使其成为无效数字噢,谢谢,我没有注意Do.split,而不是.split..split\\s*,\\s*问题是逗号使其成为无效数字噢,谢谢,我没有注意谢谢,已经修复了,但是,如果我在hello.txt中的2d数组上方得到一些文本,你能编辑你的问题并发布更新的hello.txt吗?用更新的hello.txt编辑我的问题我发布了一个更新以满足此要求。我在线程main java.lang.NumberFormatException中遇到异常:对于输入字符串:谢谢,已经修复了它,但是,如果我在hello.txt中的2d数组上方得到一些文本,该怎么办?您可以编辑您的问题并发布更新的hello.txt吗?使用更新的hello.txt编辑我的问题我发布了一个更新以满足此要求。我在线程main java.lang.NumberFormatException中遇到异常:对于输入字符串:
String[] line = input.nextLine().trim().split(", ");
for (int j = 0; j < line.length; j++) {
    desktop[i][j] = Integer.parseInt(line[j]);
}
for (int i=0; i<2 && input.hasNextLine(); i++){
    input.nextLine();    
}