我有一个CSV文件,格式如下:
市工作,薪酬
德里,医生,500
德里,律师,400
德里,管道工,100
伦敦,医生,800
伦敦,律师,700
伦敦,管道工,300
东京,医生,900
东京,律师,800
东京,管道工,400
律师,医生,300
律师,律师,400
律师,管道工,500
香港,医生,1800
香港律师1100
香港,水管工,1000
莫斯科,医生,300
莫斯科,律师,200
莫斯科,管道工,100
柏林,医生,800
柏林,管道工,900
巴黎,医生,900
巴黎,律师,800
巴黎,管道工,500
巴黎,狗捕手400
我想找到总工资的平均值.
这是我的代码:
`import java.io. *;
公开课A {
public static void main(String args[])
{
A a= new A();
a.run();
}
public void run()
{
String csv="C:\Users\Dipayan\Desktop\salaries.csv";
BufferedReader br = null;
String line = "";
int sum=0;
int count=0;
//String a=new String();
try {
br = new BufferedReader(new FileReader(csv));
try {
while ((line = br.readLine()) != null) {
// use comma as separator
String[] country = line.split(",");
int sal=Integer.parseInt(country[2]);
sum=sum+sal;
count++;
//System.out.println("Salary [job= " + country[0]
// + " , salary=" + country[2] + "]");
}
} catch (NumberFormatException | IOException e) {
System.out.println("NA");
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(sum/count);
System.out.println("Done");
}
}`
但是,其显示错误:
java.lang.NumberFormatException: For input string: “Salary”
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at A.run(A.java:30)
at A.main(A.java:9)
Exception in thread “main” java.lang.ArithmeticException: / by zero
at A.run(A.java:46)
at A.main(A.java:9)`
是否有更好或更短的代码来解析CSV文件.