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: 236

Filed under:
|
|
|

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

Related posts about java

Related posts about arrays