☕ Java For phc-bot

Status
Not open for further replies.

PHC-Shade

Honorary Poster
Java:
package admissionz;

import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Random;

class Students {
    String name;
    int age;
    String address;
    String courseIntended;
    double gpa;
    int score;

    public Students(String name, int age, String address, String courseIntended, double gpa, int score) {
        this.name = name;
        this.age = age;
        this.address = address;
        this.courseIntended = courseIntended;
        this.gpa = gpa;
        this.score = score;
    }
    }

public class CollegeAdmissionSystem {
    public ArrayList<Students> students = new ArrayList<>();
    String[] courses = {"BSCS", "BSIT", "BSIS", "BSEMC"};
    int[] reqscore = {65, 70, 75, 80};
    int courseIndex = 0;
    Scanner input = new Scanner(System.in);
    String info, answer;
    private static final double REQUIRED_GPA = 93.0;

    public  CollegeAdmissionSystem() {
        System.out.println("| Thank you for Checking on Biglang Gwapo University |");
        System.out.println("Here are the offered Courses: " + Arrays.toString(courses));
        
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
        do {   
            System.out.print("Would you like to register? (Yes or No): ");
            answer = input.nextLine().trim().toLowerCase();

            System.out.println("----------------------------");   

            switch (answer) {
                case "yes":
                    studentReg();
                    break;
                case "no":
                    System.out.println("Thank you! Have a great day!");
                    break;
                default:
                    System.out.println("Invalid input. Please enter Yes or No.");
            }
        } while (!answer.equals("yes") && !answer.equals("no"));
        
        input.close();
    }

    public void studentReg() {
        info = "Required Info: Name, Age, Address, Course Intended, and GPA";
        boolean detailsCorrect = false;

        while (!detailsCorrect) {
            System.out.println(info);
            System.out.println("----------------------------");   
            System.out.print("Name: ");
            String name = input.nextLine();
            String ci = "";

            int age = 0;
            boolean validAge = false;

            while (!validAge) {
                System.out.print("Age: ");
                if (input.hasNextInt()) {
                    age = input.nextInt();
                    if (age < 15 || age > 100) {
                        System.out.println("Invalid Age Range. Please enter an age between 15 and 100.");
                    } else {
                        validAge = true;
                    }
                } else {
                    System.out.println("Please enter a valid Age.");
                }
                input.nextLine();
            }

            System.out.print("Address: ");
            String address = input.nextLine();

            boolean validCourse = false;
            
            while (!validCourse) {
                System.out.print("Course Intended: ");
                ci = input.nextLine().toUpperCase();

                for (String course : courses) {
                    if (ci.equalsIgnoreCase(course)) {
                        validCourse = true;
                        break;
                    }
                }
                if (!validCourse) {
                    System.out.println("Invalid Course Input. Please select from the offered courses.");
                }
            }

            double gpa;
            while (true) {
                System.out.print("GPA: ");
                if (input.hasNextDouble()) {
                    gpa = input.nextDouble();
                    if (gpa < 0 || gpa > 100) {
                        System.out.println("Please enter a GPA between 0 and 100.");
                        continue;
                    }
                    break;                 } else {
                    System.out.println("Enter a valid GPA.");
                    input.nextLine();
                }
            }

            input.nextLine();

            System.out.println("----------------------------");

            System.out.println("Please double-check your details:");
            System.out.printf("Name: %s\nAge: %d\nAddress: %s\nCourse Intended: %s\nGPA: %.2f\n",
                              name, age, address, ci, gpa);

            System.out.print("Are the information correct? (Yes or No): ");
            String response = input.nextLine().trim();

            if (response.equalsIgnoreCase("Yes")) {
                detailsCorrect = true;

          
           students.add(new Students(name, age, address, ci, gpa, 0));

                System.out.println("----------------------------");

                System.out.println("Thanks for applying. Please wait while we verify your details...");

                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println("----------------------------");

                if (gpa >= REQUIRED_GPA) {
                    System.out.println("Congratulations! You are eligible to take the entrance exam.");   
                    Schedule();
                } else {
                    System.out.println("Thank you for applying. Unfortunately, your GPA does not meet the required 93. We wish you the best in your future endeavors.");
                }
            } else {
                System.out.println("Please re-enter your details.");
            }
        }
    }

    public void Schedule() {
            int year = 2024;
            int month = 4;
            int score = -1;
            Random random = new Random();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

            System.out.println("University Admission Process");
            System.out.println("----------------------------\n");

            boolean satisfied = false;

            while (!satisfied) {
                System.out.println("Scheduling your exam.");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
               int day = random.nextInt(30) + 1;
                LocalDate randomDate = LocalDate.of(year, month, day);
                String formattedDate = randomDate.format(formatter);

                System.out.println("Your Exam Date is " + formattedDate);
                System.out.print("Are you satisfied with your scheduled date? (Yes or No): ");
                String answer = input.nextLine();

                if (answer.equalsIgnoreCase("Yes")) {
                    satisfied = true;
                } else {
                
                    System.out.println("Scheduling a new exam date\n");
                    System.out.println("----------------------------\n");
                    
                }
            }


            while (true) {
                  System.out.println("Step 2: Input your exam score:");
                try {
                    score = input.nextInt();
            if (score < 0 || score > 100 ) {
                System.out.println("Input valid score ");
                    continue;
            }   
            break;
                } catch (InputMismatchException e) {
                    System.out.println("Invalid input. Please enter a valid number score.");
                    input.next();
                }
            }
                    if (!students.isEmpty()) {
                        students.get(students.size() - 1).score = score;
                    } else {
                        System.out.println("No student details found to update the score.");
                    }
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            
            System.out.println("----------------------------\n");
          
            if (score>60) {
                System.out.println("Congratulations! You are qualified to be admitted to the University.");
                Course();
            }else {
                    System.out.println("Sorry your score did not qualify to be admitted to this University");
                }
                    }   
    
    public void Course() {
        if (students.isEmpty()) {
                    System.out.println("No student details found to determine course qualification.");
                    return;
                }
    
                Students lastStudent = students.get(students.size() - 1);
                String desiredCourse = lastStudent.courseIntended;
                int score = lastStudent.score;
        
        boolean isQualified = score >= reqscore[courseIndex];
        
        if (isQualified) {
            System.out.println("You are qualified for the course");
            System.out.println("You have successfully chosen: " + desiredCourse);
        } else {
            System.out.println("You are not qualified for the desired course.");
            System.out.println("Please choose another course.");
            input.nextLine();
            String otherCourse = input.nextLine();
            System.out.println("You have successfully chosen: " + otherCourse);
        }
    }
            
            public void displayStudents() {
                for(Students student : students){
                    System.out.printf(
                        "Name: %s\nAge: %d\nAddress: %s\nCourse Intended: %s\nGPA: %.2f\nScore: %d\n",
                        student.name,
                        student.age,
                        student.address,
                        student.courseIntended,
                        student.gpa,
                        student.score);
                    }
                }

    public static void main(String[] args) {
        new CollegeAdmissionSystem();
    }
}
what should I do to implement a logic in the public void Course() where the courses have score requirements which is int[] reqscore = {65, 70, 75, 80}; so that score is the requirements for String[] courses = {"BSCS", "BSIT", "BSIS", "BSEMC"}; respectively
 
To implement a logic in the Course() method of the CollegeAdmissionSystem class where the courses have score requirements corresponding to the courses listed in String[] courses and the score requirements are specified in the array int[] reqscore, you can follow these steps:

1. Determine the index of the intended course in the courses array.
2. Retrieve the corresponding score requirement for that course from the reqscore array using the index.
3. Compare the student's score with the required score for the intended course to determine if the student is qualified for that course.

Here is the updated Course() method with the implementation logic:

Java:
public void Course() {
    if (students.isEmpty()) {
        System.out.println("No student details found to determine course qualification.");
        return;
    }

    Students lastStudent = students.get(students.size() - 1);
    String desiredCourse = lastStudent.courseIntended;
    int score = lastStudent.score;

    int courseIndex = -1;
    for (int i = 0; i < courses.length; i++) {
        if (desiredCourse.equalsIgnoreCase(courses[i])) {
            courseIndex = i;
            break;
        }
    }

    if (courseIndex == -1) {
        System.out.println("Invalid course selection. Please choose a valid course.");
        return;
    }

    boolean isQualified = score >= reqscore[courseIndex];

    if (isQualified) {
        System.out.println("You are qualified for the course: " + desiredCourse);
    } else {
        System.out.println("You are not qualified for the desired course: " + desiredCourse);
        System.out.println("Please choose another course.");
    }
}

In this updated method, we first find the index of the desired course in the courses array. Then, we use this index to retrieve the corresponding score requirement from the reqscore array. Finally, we compare the student's score with the required score for the intended course to determine if the student is qualified for that course.

You can replace the existing Course() method in your code with this updated logic to achieve the desired functionality.
 
Status
Not open for further replies.

Similar threads

About this Thread

  • 1
    Replies
  • 301
    Views
  • 1
    Participants
Last reply from:
Unknown user

Trending Topics

Online now

Members online
565
Guests online
933
Total visitors
1,498

Forum statistics

Threads
2,273,602
Posts
28,950,566
Members
1,235,856
Latest member
sentro2354
Back
Top