i have a txt of marks for students, every line being a new student. i want to add all the first marks of every student to an array, then all the second marks to a different array etc. every array is the module, i then have methods to find the mean and median etc of these module marks, but im struggling reading every line then adding the first values of every line etc.
public interface StatCalculator {
double[] CE1014FY = {};
double[] CE1014SP = {};
double[] CE1414AU = {};
double[] CE1414FY = {};
double[] CE1424AU = {};
double[] CE1424FY = {};
double[] CE1514AU = {};
double[] CE1524SP = {};
double[] CE1534AU = {};
double[] CE1544SP = {};
double[] CE1554SP = {};
double[] CE1614AU = {};
double[] CE1624SP = {};
double[] CE1634AU = {};
double[] CE1644SP = {};
static void get(){
try {
File file = new File("M:\\Documents\\ce201\\subversion\\resources\\marks.txt");
Scanner scanner = new Scanner(file);
for every line
CE1014FY.add(line[0]; //i want something like this
CE1014SP.add(line[1]
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
static double mean(double[] numbers){
double sum = 0;
for (int i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
System.out.println("mean: "+sum/numbers.length);
return sum / numbers.length;
}
public static double median(double[] numbers) {
Arrays.sort(numbers);
int middle = numbers.length/2;
if (numbers.length%2 == 1) {
System.out.println("median: "+numbers[middle]);
return numbers[middle];
} else {
System.out.println("median: "+(numbers[middle-1] + numbers[middle]) / 2.0);
return (numbers[middle-1] + numbers[middle]) / 2.0;
}
}
public static double lowerQ(double[] numbers) {
Arrays.sort(numbers);
int lqpos = (numbers.length+1)/4;
int lq= (int) (int) numbers[lqpos];
System.out.println("lower q: "+lq);
return lq;
}
public static double upperQ(double[] numbers) {
Arrays.sort(numbers);
int uqpos = 3*(numbers.length+1)/4;
int uq= (int) (int) numbers[uqpos];
System.out.println("upper q: "+uq);
return uq;
}
public static void main(String[] args) {
get();
mean(CE1014FY);
median(CE1014FY);
upperQ(CE1014FY);
lowerQ(CE1014FY);
}
}
then the txt{
63,-1,-1,76,-1,-1,82,85,84,57,67,73,-1,-1,-1,-1,73
62,-1,-1,60,-1,-1,89,76,79,53,55,77,-1,-1,-1,-1,69
60,-1,-1,42,-1,-1,37,32,67,-1,44,56,37,-1,-1,-1,47
53,-1,-1,88,-1,-1,75,68,69,58,64,75,-1,-1,-1,-1,69
72,-1,-1,64,-1,-1,39,55,74,56,78,64,-1,-1,-1,-1,63
50,-1,-1,30,-1,-1,19,20,35,19,7,34,-1,-1,-1,-1,27
}