☕ Java For PHC-Bot only

PHC-Shade

Honorary Poster
Code:
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"};
    Scanner input = new Scanner(System.in);
    String info, ci, 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); // Simulate loading time
        } 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(); // Close scanner resource at the end
    }

    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();

            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; // Valid age entered
                    }
                } else {
                    System.out.println("Please enter a valid Age.");
                }
                input.nextLine(); // Consume newline character
            }

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

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

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

            double gpa; // Declare GPA variable
            while (true) {
                System.out.print("GPA: ");
                if (input.hasNextDouble()) {
                    gpa = input.nextDouble();
                    if (gpa < 0 || gpa > 100) { // Validate GPA range
                        System.out.println("Please enter a GPA between 0 and 100.");
                        continue; // Ask for GPA again
                    }
                    break; // Exit loop if valid input is received
                } else {
                    System.out.println("Enter a valid GPA."); // Prompt for valid GPA
                    input.nextLine(); // Consume the invalid input
                }
            }

            // Consume newline character after nextDouble()
            input.nextLine();

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

            // CONFIRMING DETAILS
            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("----------------------------");

                // VERIFICATION PROCESS
                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 ELSE STATEMENT
                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();
                }
            }
            
            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.");
            }else {
                    System.out.println("Sorry your score did not qualify to be admitted to this University");
                    }   
                }

    public static void main(String[] args) {
        new CollegeAdmissionSystem();
    }
}

So i want to add the score from the schedule class to the array ano pung good way to do it?
 
To add the score from the Schedule class to the Students array in your CollegeAdmissionSystem class, you can modify the Students class to include a method that allows you to update the score for a specific student. Here's how you can achieve this:

1. Add a method in the Students class to update the score:
Java:
public void updateScore(int score) {
    this.score = score;
}

2. In your CollegeAdmissionSystem class, modify the Schedule method to update the score for the student after inputting the exam score:
Java:
public void Schedule() {
    // Existing code
    
    // Input exam score
    int score = -1;
    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();
        }
    }
    
    // Update the score for the last added student
    students.get(students.size() - 1).updateScore(score);

    // Existing code
}

With these modifications, the score entered during the scheduling process will be updated for the last added student in the students array. This way, each student object will have their corresponding exam score associated with them.

Remember to test the updated code to ensure that the score is correctly added to the student object in the array. Let me know if you need further assistance or clarification!
 
To add the score from the Schedule class to the Students array in your CollegeAdmissionSystem class, you can modify the Students class to include a method that allows you to update the score for a specific student. Here's how you can achieve this:

1. Add a method in the Students class to update the score:
Java:
public void updateScore(int score) {
    this.score = score;
}

2. In your CollegeAdmissionSystem class, modify the Schedule method to update the score for the student after inputting the exam score:
Java:
public void Schedule() {
    // Existing code
   
    // Input exam score
    int score = -1;
    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();
        }
    }
   
    // Update the score for the last added student
    students.get(students.size() - 1).updateScore(score);

    // Existing code
}

With these modifications, the score entered during the scheduling process will be updated for the last added student in the students array. This way, each student object will have their corresponding exam score associated with them.

Remember to test the updated code to ensure that the score is correctly added to the student object in the array. Let me know if you need further assistance or clarification!
pero declared na ang score sa student class
Code:
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;
    }
 
pero declared na ang score sa student class
Code:
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;
    }
I apologize for the oversight. Since the score is already being set in the constructor of the Students class, you do not need to create a separate method to update the score. Instead, you can directly set the score for the last added student in the Students array.

Here's how you can modify the Schedule method in your CollegeAdmissionSystem class to set the score for the last added student:

Java:
public void Schedule() {
    // Existing code

    // Input exam score
    int score = -1;
    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();
        }
    }

    // Set the score for the last added student
    if (!students.isEmpty()) {
        students.get(students.size() - 1).score = score;
    } else {
        System.out.println("No student details found to update the score.");
    }

    // Existing code
}

In this updated code snippet, we directly set the score for the last added student in the Students array by accessing the score field of the Students object. If the array is empty, a message is displayed indicating that there are no student details to update the score for.

Please test this modification to ensure that the score is correctly set for the appropriate student. Let me know if you need further assistance!
 

About this Thread

  • 3
    Replies
  • 437
    Views
  • 1
    Participants
Last reply from:
Unknown user

Trending Topics

Online now

Members online
341
Guests online
1,080
Total visitors
1,421

Forum statistics

Threads
2,273,575
Posts
28,950,428
Members
1,235,837
Latest member
ninzi
Back
Top