Original Post
and for some reason I can''t get this program to work like I want it too.
I have to output the greatest and lowest averages. It works fine for 2 students, but when I enter more than 3 it doesnt work. Can you guys please give me some suggestions?
public class parallel {
public static void main(String[] pars) {
int n;
System.out.print("Enter number of students: ");
n= JLiveRead.readInt();
int x = 0;
int y = 0;
double hold = 0;
double hold2 = 0;
double hold3 = 0;
double lowest = 0;
double greatest = 0;
double totalaverage = 0;
String[] name;
int[] exam1;
int[] exam2;
int[] exam3;
double[] average;
name= new String[16];
exam1= new int[n];
exam2= new int[n];
exam3= new int[n];
average= new double[n];
for (int i= 0; i < n; i++) {
System.out.println();
System.out.print("Enter Student #" + (i + 1) + ": ");
name[x]= JLiveRead.readLineString();
System.out.print("Enter Exam #1 Score: ");
exam1[x]= JLiveRead.readLineInt();
if (exam1[x] < 0 || exam1[x] > 100) {
System.out.print("Grade must be between 0-100. Enter again: ");
exam1[x]= JLiveRead.readLineInt();
}
System.out.print("Enter Exam #2 Score: ");
exam2[x]= JLiveRead.readLineInt();
if (exam2[x] < 0 || exam2[x] > 100) {
System.out.print("Grade must be between 0-100. Enter again: ");
exam2[x]= JLiveRead.readLineInt();
}
System.out.print("Enter Exam #3 Score: ");
exam3[x]= JLiveRead.readLineInt();
if (exam3[x] < 0 || exam3[x] > 100) {
System.out.print("Grade must be between 0-100. Enter again: ");
exam3[x]= JLiveRead.readLineInt();
}
System.out.println();
average[x] = ( exam1[x] + exam2[x] + exam3[x] ) / 3;
x= x+1;
}
System.out.println("Student Exam Average: ");
for (int i= 0; i < n; i++) {
System.out.println(name[y] + " " + average[y]);
y= y+1;
}
System.out.println();
x= 0;
for (int i= 0; i < n-1; i++) {
if (average[x] < average[x+1])
lowest= average[x];
else
lowest= average[x+1];
x= x+1;
}
System.out.println("Students having the lowest average: (" + (int)lowest +")");
x= 0;
for (int i= 0; i < n; i++) {
if (average[x] == lowest)
System.out.println(name[x]);
x= x+1;
}
System.out.println();
System.out.println();
x= 0;
for (int i= 0; i < n-1; i++) {
if (average[x] < average[x+1])
greatest= average[x+1];
else
greatest= average[x];
x= x+1;
}
System.out.println("Students having the greatest average: (" + (int)greatest + ")");
x= 0;
for (int i= 0; i < n; i++) {
if (average[x] == greatest)
System.out.println(name[x]);
x= x+1;
}
System.out.println();
System.out.println();
x= 0;
for (int i = 0; i < n; i++) {
hold= exam1[x] + hold;
x= x+1;
}
System.out.println("Exam #" + 1 + " Class Average: " + (hold / n));
x = 0;
for (int i = 0; i < n; i++) {
hold2= exam2[x] + hold2;
x= x+1;
}
System.out.println("Exam #" + 2 + " Class Average: " + (hold2 / n));
x= 0;
for (int i = 0; i < n; i++) {
hold3= exam3[x] + hold3;
x= x+1;
}
System.out.println("Exam #" + 3 + " Class Average: " + (hold / n));
totalaverage= (hold + hold2 + hold3 ) / (n * 3);
System.out.print("Overall Class Exam Average: " + totalaverage);
}
}
S