sorting, average and finding the lowest number from a static array Java
Posted
by
user3701322
on Stack Overflow
See other posts from Stack Overflow
or by user3701322
Published on 2014-06-03T02:38:13Z
Indexed on
2014/06/03
3:26 UTC
Read the original article
Hit count: 234
i'm trying to input students and input their results for course work and exams and what i'm having trouble with is finding the average total score, the lowest total score and printing all students in order of total scores highest - lowest
import java.util.*;
import java.text.*;
public class Results
{
static String[] name = new String[100];
static int[] coursework = new int[100];
static int[] exam = new int[100];
static int count = 0;
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
boolean flag = true;
while(flag)
{
System.out.println(
"1. Add Student\n" +
"2. List All Students\n" +
"3. List Student Grades\n" +
"4. Total Score Average\n" +
"5. Highest Total Score\n" +
"6. Lowest Total Score\n" +
"7. List all Students and Total Scores\n" +
"8. Quit\n");
System.out.print("Enter choice (1 - 8): ");
int choice = input.nextInt();
switch(choice)
{
case 1:
add();
break;
case 2:
listAll();
break;
case 3:
listGrades();
break;
case 4:
average();
break;
case 5:
highestTotal();
break;
case 6:
lowestTotal();
break;
case 7:
order();
break;
case 8:
flag = false;
break;
default:
System.out.println("\nNot an option\n");
}
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
}
System.out.println("\n\nHave a nice day");
}//end of main
static void add()
{
Scanner input = new Scanner(System.in);
System.out.println("Insert Name: ");
String names = input.nextLine();
System.out.println("Insert Coursework: ");
int courseworks = input.nextInt();
System.out.println("Insert Exam: ");
int exams = input.nextInt();
name[count] = names;
coursework[count] = courseworks;
exam[count] = exams;
count++;
}
static void listAll()
{
for(int i=0;i<count;i++)
{
System.out.printf("%s %d %d\n", name[i], coursework[i], exam[i]);
}
}
static void listGrades()
{
for(int i=0;i<count;i++){
if(coursework[i] + exam[i] > 79)
{
System.out.println(name[i] + " HD");
}
else if(coursework[i] + exam[i] > 69)
{
System.out.println(name[i] + " DI");
}
else if(coursework[i] + exam[i] > 59)
{
System.out.println(name[i] + " CR");
}
else if(coursework[i] + exam[i] > 49)
{
System.out.println(name[i] + " PA");
}
else
{
System.out.println(name[i] + " NN");
}
}
}
static void average()
{
}
static void highestTotal()
{
int largest=exam[0];
String student=name[0];
for(int i=0; i<exam.length; i++){
if(exam[i]>largest){
largest = exam[i] + coursework[i];
student = name[i];
}
}
System.out.printf(student + ": "+ largest + "\n" );
}
static void lowestTotal()
{
int min = 0;
for(int i=0; i<=exam[i]; i++){
for(int j =0; j<=exam[i]; j++){
if(exam[i]<=exam[j] && j==exam[j]){
min = exam[i] + coursework[i];
}
else{
continue;
}
}
}
System.out.printf(name + ": "+ min + "\n" );
}
static void order()
{
}
}
© Stack Overflow or respective owner