Java NumberFormatException:对于输入字符串:“2,”
我是Java新手,我正在尝试读取文件并将文件内容读取到2d数组,但我得到: 线程主java.lang.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)
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();
}