不用擔心它在Mac或Windows上運行。 Java爲您處理所有業務。 :)
你可以做下面的事情。這只是一個快速解決方案,所以你可能想要做一些改變。它現在從名爲「input.txt」的文件中讀取。
import java.io.*;
public class ParseLines {
public static void main(String[] args) {
try {
FileInputStream fs = new FileInputStream("input.txt");
BufferedReader reader =
new BufferedReader(new InputStreamReader(new DataInputStream(fs)));
String line;
double collect[] = {0.0, 0.0, 0.0, 0.0};
int lines = 0;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
if (parts.length == 5) {
int avg = 0;
boolean skip = false;
for (int i = 1; i < 5; i++) {
String part = parts[i].trim();
try {
int num = Integer.valueOf(part);
avg += num;
collect[i - 1] += (double) num;
}
catch (NumberFormatException nexp) {
System.err.println("Input '" + part +
"' not a number on line: " + line);
skip = true;
break;
}
}
if (skip) continue;
avg /= 4;
lines++;
System.out.println("Last name: " + parts[0].split(" ")[1] +
", Avg.: " + avg);
}
else {
System.err.println("Ignored line: " + line);
}
}
for (int i = 0; i < 4; i++) {
collect[i] /= (double) lines;
System.out.println("Average of column " + (i + 1) + ": " +
collect[i]);
}
reader.close();
} catch (Exception e){
System.err.println("Error: " + e.getMessage());
}
}
}
編輯:改變的代碼,以平均該第一,第二,第三和第四列。
您是否已經在同一個問題上開了另外兩個問題? – Cooper 2011-03-10 21:35:49
他們是我有兩個不同的問題。這是一個新問題。 – Mary 2011-03-10 21:40:14
首先,您的問題標題非常相似,以至於很容易認爲問題是相同的;請使用更具描述性的標題。其次,在使用Java時,如果您正確使用Mac,則使用Mac應該沒什麼關係。 – GreenMatt 2011-03-10 21:50:44