Java 将字符串转换为整数时出现NumberFormatException
我想把字符串数组转换成整数。我写了这个,但是eclipse返回了一个错误: 代码如下:Java 将字符串转换为整数时出现NumberFormatException,java,Java,我想把字符串数组转换成整数。我写了这个,但是eclipse返回了一个错误: 代码如下: public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("array_list.csv")); String everything = ""; try { StringBuilder sb = new
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("array_list.csv"));
String everything = "";
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append('\n');
line = br.readLine();
}
everything = sb.toString();
} finally {
br.close();
}
int firstArrLenght = everything.indexOf("]");
int secondArrStartIndex = everything.lastIndexOf("[") + 1;
int secondArrLenght = everything.lastIndexOf("]") - secondArrStartIndex;
String[] firstStrArr = everything.substring(1, firstArrLenght).split(",");
String[] secondStrArr = everything.substring(secondArrStartIndex, secondArrLenght).split(",");
eclipse不喜欢这些行。我想在这里把字符串数组转换成整数。然后我将使用INT作为其他逻辑
int[] firstArray = transformToInt(firstStrArr);
int[] secondArray = transformToInt(secondStrArr);
}
private static int[] transformToInt(String[] arr) {
int[] result = new int[arr.length];
for(int i = 0; i < arr.length; i++) {
result[i] = Integer.parseInt(arr[i].trim());
}
return result;
}
你知道怎么了吗
java.lang.NumberFormatException: For input string: ""
因此,您试图解析的当前字符串在该行中为空
result[i] = Integer.parseInt(arr[i].trim());
不可能从空字符串中获取整数值,这就是exception
的意思
您所能做的就是在解析字符串之前检查字符串的空性
因此,您试图解析的当前字符串在该行中为空
result[i] = Integer.parseInt(arr[i].trim());
不可能从空字符串中获取整数值,这就是exception
的意思
您可以做的是在解析字符串之前检查字符串的空性。您会得到什么错误?线程“main”java.lang.NumberFormatException中的异常:对于输入字符串:“at java.lang.NumberFormatException.forInputString(未知源)at java.lang.Integer.parseInt(未知源)java.main(java.java:30)中的transformToInt(java.java:38)中的java.lang.Integer.parseInt(未知源代码)调试您的代码,您将看到找到bug是多么容易!您得到了什么错误?线程“main”java.lang.NumberFormatException中的异常:对于输入字符串:“java.lang.NumberFormatException.forInputString(未知源)在java.lang.Integer.parseInt(未知源)在java.lang.Integer.parseInt(未知源)在java.transformToInt(java.java:38)在java.main(java.java:30)调试您的代码,您将看到如何容易找到错误!