【发布时间】:2016-12-18 11:44:47
【问题描述】:
所以我有一个从 csv 文件中获取数据的项目。我已经将每一列传递到一个字符串数组中。当我尝试获取该数组的内容并将数据放入它们自己的数组中时,它会传递一个错误,因为正在读取列标题并且我无法编辑文件(项目的请求)。
犯罪.java
package crimestat;
import java.io.*;
import java.util.*;
public class Crime {
private String Label[];
private int Year[];
private int Population[];
private int Violent[];
private double Violent_Rate[];
private int Murder[];
private double Murder_Rate[];
private int Rape[];
private double Rape_Rate[];
private int Robery[];
private double Robery_Rate[];
private int Assault[];
private double Assault_Rate[];
private int Property[];
private double Property_Rate[];
private int Burglary[];
private double Burglary_Rate[];
private int Larceny[];
private double Larceny_Rate[];
private int Vehicle[];
private double Vehicle_Rate[];
public Crime() {
Label = null;
Year = null;
Population = null;
Violent = null;
Violent_Rate = null;
Murder = null;
Murder_Rate = null;
Rape = null;
Rape_Rate = null;
Robery = null;
Robery_Rate = null;
Assault = null;
Assault_Rate = null;
Property = null;
Property_Rate = null;
Burglary = null;
Burglary_Rate = null;
Larceny = null;
Larceny_Rate = null;
Vehicle = null;
Vehicle_Rate = null;
}
public String get_Label(int i){
return Label[i];
}
public int get_Year(int i){
return Year[i];
}
public void set_Label(String[] Label){
this.Label = Label;
}
public void set_Year(int i, Crime crime){
this.Year[i] = Integer.parseInt(crime.get_Label(0));
}
}
testCrime.java
package crimestat;
import java.io.*;
import java.util.*;
public class testCrime {
static Crime obj = new Crime();
public static void main(String[] args) throws IOException {
Scanner file = null;
int n=0;
try {
file = new Scanner(new BufferedReader(new FileReader("Crime.csv")));
while (file.hasNextLine()) {
obj.set_Label(file.nextLine().split(","));
obj.set_Year(n,obj);
System.out.println(obj.get_Year(n));
}
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
错误
Exception in thread "main" java.lang.NumberFormatException: For input string: "Year"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at crimestat.Crime.set_Year(Crime.java:69)
at crimestat.testCrime.main(testCrime.java:20)
【问题讨论】: