Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 14 of 14

Thread: Need Help With My Sorting and Arrays

Threaded View

  1. #1
    Junior Member
    Join Date
    Oct 2020
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Need Help With My Sorting and Arrays

    Hello everyone, I still learning java so I'm still not familiar with how to call and how to change from different classes and using arrays but right now I'm trying to create a simple code like a school system where there show all the student name list with a grade in all the classes there are in using arrays object to store the data. I don't want to use ArrayList so NO ArrayList.

    and it seems that I don't know how to do it. I'm really stuck right now can anyone help me with my code.

    I WANT MY OUTPUT TO BE LIKE THIS:-

    === SCHOOL LISTS ===

    1. Class Thunder with Total grade: 146
    2. Class Lightning with Total grade: 103.9
    3. Class Sunrise with Total grade: 115.5

    --------------------
    Class: Sunrise
    Class quantity: 5

    Student1: James Shawn
    Grade: 75
    Student2: Ali Pole
    Grade: 30.5
    Student3: Tong Kim
    Grade: 10

    Total Grade: 115.5
    ------------------------
    Class: Thunder
    Class quantity: 5

    Student1: Mark Lee
    Grade: 65.5
    Student2: James Mic
    Grade: 20.4
    Student3: James Mic
    Grade: 18.0

    Total Grade: 103.9
    ------------------------
    Class: Lightning
    Class quantity: 5

    Student1: Luke Kim
    Grade: 90
    Student2: Noth Shawn
    Grade: 44
    Student3: Lex Wale
    Grade: 12

    Total Grade: 146

    Do you want to go back to the selection function?
    Press Y or N:
    //if yes they will go back to the functionSelection
    //if no they will ask users if they want to exit the systems.

    Do you want to exit (Y or N):

    //if yes they will exit the systems
    //if no they will go back to the functionSelection.

    ---------------------------------------------------------------------------------------------------------------------------------------

    The class should have an array class of 10 sizes but initialize with 5 pre-team set.
    and the student is only set to have 20 sizes (mean 20 students per class can't be more than the number set)

    BELOW ARE MY CODE:-

    STUDENT CLASS
    import java.util.Comparator;
     
    public class Student {
     
        private String studentName;
        private int grade;
     
        public Student(String studentName, int score) {
            this.studentName = studentName;
            this.grade = grade;
        }
     
        public String toString() {
            return "\nStudent Name: " + studentName + "\nGrade: " + grade;
        }
     
        public String getStudentName() {
            return studentName;
        }
     
        public int getGrade() {
            return grade;
        }
     
        public void setStudentName(String studentName) {
            this.studentName = studentName;
        }
     
        public void setGrade(int grade) {
            this.grade = grade;
        }   
    }
     
    //Sorting side
    class sortGrade implements Comparator<Student> {
     
            @Override
            public int compare(Student a, Student b) {
            return (a.getGrade() - b.getGrade());
        }
    }
    -----------------------------------------------------------------------
    CLASS CLASS
    public class Class {
     
        Student[] student;
        private String className;
        private int classQuantity;
        private int totalGrade = 0;
     
        //add student to the class
         public void addNewStudent(String studentName, double grade) {
     
        }
     
        public double calculateTotalGrade() {
     
            for (Student students : student) {
                totalGrade += students.getGrade();
            }
            return Math.round(totalGrade * 10.0) / 10.0;
        }
     
        public Class(Student[] student,
                String className, int classQuantity) {
     
            this.student = student;
            this.className = className;
            this.classQuantity = classQuantity;
        }
     
        public Class(String className, int classQuantity) {
     
            this.className = className;
            this.classQuantity = classQuantity;
        }
     
        public String toString() {
            String studentList = " ";
     
            for (int i = 0; i < student.length; i++) {
                studentList += "\n\tStudent " + (i + 1) + ": " + student[i].getStudentName()
                        + "\n\tGrade: " + student[i].getGrade();
            }
     
            return "\nClass Name: " + className
                    + "\nClass Quantity: " + classQuantity + "\n" + studentList;
        }
    }
    --------------------------------------------------------------------------------------
    MAIN DRIVER CLASS
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Scanner;
     
    public class MainDriver {
     
        private Object[] a;
     
        void printSort(Student[] sortList) {
            for (Object sort : a) {
                System.out.print(sort + " ");
            }
            System.out.println();
        }
     
        public static void main(String[] args) {
     
            int size = 10;
            Class[] classroom = new Class[size];
     
            Student[] studentList1 = {
                new Student("Tong Kim", 10),
                new Student("Ali Pole", 30),
                new Student("James Shawn", 75)};
     
            Student[] studentList2 = {
                new Student("James Mic", 20),
                new Student("Ho Kim", 18),
                new Student("Mark Lee", 65)};
     
            Student[] studentList3 = {
                new Student("Luke Kim", 90),
                 new Student("Noth Shawn", 44),
                 new Student("Lex Wale", 12)
            };
     
            classroom[0] = new Class(studentList1, "Sunrise", 20);
            classroom[1] = new Class(studentList2, "Thunder", 10);
            classroom[2] = new Class(studentList3, "Lightning", 5);
     
            Scanner input = new Scanner(System.in);
            boolean functionSelection = true;
     
           // Student[] SortList = studentList1;
     
            while (functionSelection) {
     
                System.out.println("=== SCHOOL SYSTEM === \n");
                System.out.println("[1] Add New Class");
                System.out.println("[2] Exit");
     
                System.out.print("\nChoose a function: ");
     
                //Check if it is other then number
                if (!input.hasNextInt()) {
                    System.out.println(" \nChoose the existing number");
                    input.nextLine();
                    continue;
                }
     
                int choice = input.nextInt();
     
                String newClassName, searchClass, newName, addName;
                switch (choice) {
                    case 1:
     
                        //Show School List
                        /*List all class, student, grade and the total grade
                        in ascending*/
     
                        System.out.println("=== SCHOOL LIST ===");
     
                       Student[] SortList = studentList1;
     
                       //Descending Order Arrays
     
                        Comparator<Student> descendingOrder;
                        descendingOrder = Collections.reverseOrder
                        (new sortGrade());
     
                        Arrays.sort(SortList, descendingOrder);
                        System.out.println(Arrays.toString(SortList) + "\n");
                    case 2: 
                        System.exit(0);
                        break;
                    default:
                        System.out.println(" \nChoose the existing number");
                }
            }
        }
    }

    Please help me with my code
    Last edited by eecanisha; October 21st, 2020 at 11:59 AM.

Similar Threads

  1. Sorting BigInteger Arrays
    By WD3k in forum What's Wrong With My Code?
    Replies: 1
    Last Post: March 23rd, 2014, 11:21 PM
  2. Sorting parallel arrays
    By dynasty in forum What's Wrong With My Code?
    Replies: 3
    Last Post: March 27th, 2013, 07:23 AM
  3. Arrays sorting
    By LeeDD in forum What's Wrong With My Code?
    Replies: 13
    Last Post: March 4th, 2013, 03:17 PM
  4. Need helpt with sorting arrays?
    By xion0374 in forum What's Wrong With My Code?
    Replies: 2
    Last Post: March 19th, 2012, 06:00 PM
  5. Sorting Arrays
    By Bryan29 in forum Collections and Generics
    Replies: 5
    Last Post: November 28th, 2011, 07:21 AM

Tags for this Thread