Question

PREVIOUS ANSWERS ON THIS SITE ARE WRONG PLEASE DONT JUST REPOST THE ANSWERS

(1) Create a Student class containing an ID, a last name, and a list of course names such as "COP2210" or "COP2250". This should not be a string of multiple courses. The ID should be an integer which is printed with leading zeros.

(2) Create a class named StudentTest that contains a List of students. Do not use the list provided here. In the class constructor, create 15 students and add them to the list. Each student's ID must be different. Each student you add to the list must contain 2-4 different course names. At least one should have two course names and at least one should have four course names. Make sure the students do not all have the same courses, although there should be some overlap (see the sample below). The student names must be inserted into the list in random order (not sorted).

(3) Sort the list in ascending order by student last name and display the list. For each student, display the ID with leading zeros, last name, and list of courses on a single line. Here is sample output. Note how the tab character is inserted after the name to line up the next column containing courses. Be sure there is no trailing comma at the end of the list of courses.

e008, Alvarez COP2250, COP3250, COP425e eee2, Chong COP121,COP3337, COP3530 9026, Fujioka COP225e, COP325e, COP425e e032, Joh

0 0
Add a comment Improve this question Transcribed image text
Answer #1

**Student.java:**

import java.util.*;

public class Student

{

   String ID, lastName;

   //Arraylist to store courses

  ArrayList courses = new ArrayList();

   public Student()

   {

       //Default constructor

       ID = "";

       lastName = "";

   }

   public Student(String I, String l)

   {

      //Parameterized Constructor to initialize

       ID = I;

       lastName = l;

       int i, n;

       String temp;

       Scanner sc = new Scanner(System.in);

       while(true){

      System.out.print("\nHow many courses you want to add: ");

       n = Integer.parseInt(sc.nextLine());

       if(n < 3){ //Cannot choose less than 3 courses

          System.out.println("\nNumber of courses must be at least 3.");

           continue;

       }

       for(i = 1; i <= n; i++)

       {

          System.out.print("\nEnter course name: ");

           temp = sc.nextLine();

          if(courses.contains(temp))//If course already present

           {

              System.out.println("\nCourse already present. Try another.");

               i--;

           }

           else

           {

              courses.add(temp); //Adding course

           }

       }

   }

   }

   //Accessors

   public String getID()

   {

       return ID;

   }

   public String getName()

   {

       return lastName;

   }

   public ArrayList getCourses()

   {

       return courses;

   }

   //Mutators

   public void setID(String i)

   {

       ID = i;

   }

   public void setName(String n)

   {

       lastName = n;

   }

   public void setCourses(ArrayList c)

   {

      courses.clear();

      courses.addAll(c);

   }

}

**StudentTest.java:**

import java.util.*;

public class StudentTest

{

   //To store 10 students

   Student[] list = new Student[10];

   public StudentTest(){

       int i, j, flag;

       Scanner sc = new Scanner(System.in);

       for(i = 0; i < 10; i++)

       {

           String temp, l;

          System.out.print("\nEnter student ID: ");

           temp = sc.nextLine();

           flag = 1;

           for(j = 0; j < i; j++)

           {

              if(list[j].getID().equals(temp))//If ID already exists

               {

                   System.out.println("\nID already exists. Try another.");

                  flag = 0;

                  i--;

                  break;

               }

           }

           if(flag == 1)

               {

                  System.out.print("\nEnter student Last name: ");

                  l = sc.nextLine();

                  list[i] = new Student(temp, l); //Initializing student

               }

       }

   }

   public void sort()

   {

       //To sort and display

       int i, j;

       String temp;

      ArrayList t = new ArrayList();

       for(i = 0; i < 9; i++)

       {

           for(j = 0; j < 9 - i; j++)

           {

              if(list[j].getName().compareTo(list[j + 1].getName()) > 0)//If list[j + 1].lastName needs to come before list[j].lastName

               {

                  //Swapping IDs

                  temp = list[j].getID();

                  list[j].setID(list[j + 1].getID());

                  list[j + 1].setID(temp);

                  //Swapping last names

                  temp = list[j].getName();

                  list[j].setName(list[j + 1].getName());

                  list[j + 1].setName(temp);

                  //Swapping courses

                  t.clear();

                  t.addAll(list[j].getCourses());

                  list[j].setCourses(list[j + 1].getCourses());

                  list[j + 1].setCourses(t);

               }

           }

       }

       //Display

      System.out.println();

       for(i = 0; i < 10; i++)

       {

          System.out.print(list[i].getID() + ", " + list[i].getName());

           //Using fencepost loop to print with comma before

           System.out.print(" " + list[i].getCourses().get(0));

           for(j = 1; j < list[i].getCourses().size(); j++)

              System.out.print(", " + list[i].getCourses().get(j));

          System.out.println();

       }

   }

   public static void main(String args[])

   {

       StudentTest S = new StudentTest();

       S.sort();

   }

}

Add a comment
Know the answer?
Add Answer to:
PREVIOUS ANSWERS ON THIS SITE ARE WRONG PLEASE DONT JUST REPOST THE ANSWERS (1) Create a Student class containing an ID, a last name, and a list of course names such as "COP2210" or "COP22...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT