Search code examples
javaarraysnetbeansuser-input

Determining number of students in each level


I am new to JAVA and Netbeans. This is what I have to do:
Display the numbers of students in each of the Levels (R, 1, 2, 3, 4).

Level R (mark < 50)     
Level 1 ( (mark >= 50) && (mark < 60) )    
Level 2 ( (mark >= 60) && (mark < 70) )    
Level 3 ( (mark >= 70) && (mark < 80) )    
Level 4 (mark >= 80).

I need to use an array and I know that it needs to contain 5 elements. I have no idea how to do this. BUT, I am not expecting to know the entire code from you so dont close the question. All I want to know is a hint or a method, so I know how to write the program. I appreciate any help and thank you in advance!


Solution

  • Here is something to get you started

        Point2D levelContainer[] = new Point2D[5];
        //set the R level
        levelContainer[0] = new Point2D.Double(0, 50);
        //set the rest
        levelContainer[1] = new Point2D.Double(50, 60);
        levelContainer[2] = new Point2D.Double(60, 70);
        levelContainer[3] = new Point2D.Double(70, 80);
        levelContainer[4] = new Point2D.Double(80, Double.MAX_VALUE);
    
        double exampleMark[] = {2, 56, 63, 70, 8080};
    
        for(int index = 0; index < exampleMark.length; index++)
        {
            //now for every mark we have, we need to loop the level array until we find the which level it falls in
            for(int levelIndex = 0; levelIndex < levelContainer.length; levelIndex++)
            {
                //now check the X, our minimum value, and the Y,our max value, for our range and if it does fall into the range print out the level
                if(exampleMark[index] >= levelContainer[levelIndex].getX() && exampleMark[index] < levelContainer[levelIndex].getY())
                {
                    //basically use R if the level the mark falls into is 0
                    String level = levelIndex == 0 ? "R" : new Integer(levelIndex).toString();
                    System.out.println("Our current mark is " + exampleMark[index] + " which falls between " 
                            + levelContainer[levelIndex].getX() + " and " +
                            levelContainer[levelIndex].getY() + " which is level " + level);
                }
            }
        }