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
  • Last picture is the tester program! In this Assignment, you will create a Student class and...

    Last picture is the tester program! In this Assignment, you will create a Student class and a Faculty class, and assign them as subclasses of the superclass UHPerson. The details of these classes are in the UML diagram below: UHPerson - name : String - id : int + setName(String) : void + getName(): String + setID(int) : void + getID(): int + toString(): String Faculty Student - facultyList : ArrayList<Faculty - rank: String -office Hours : String - studentList...

  • please use java do what u can 1. Modify the Student class presented to you as...

    please use java do what u can 1. Modify the Student class presented to you as follows. Each student object should also contain the scores for three tests. Provide a constructor that sets all instance values based on parameter values. Overload the constructor such that each test score is assumed to be initially zero. Provide a method called set Test Score that accepts two parameters: the test number (1 through 3) and the score. Also provide a method called get...

  • Use only a single SQL statement for each of the following questions 1 Give a listing of all the ssns,first names and the class descriptions of all the classes the students are taking. If there a...

    Use only a single SQL statement for each of the following questions 1 Give a listing of all the ssns,first names and the class descriptions of all the classes the students are taking. If there are no class _descriptions display 'No description is available yet'. (USE NVL) 2 Give a listing of only the lname and the class_code for students who are taking 'Introduction to C programming'. (Inner join) 3 Give a lising of all the class_descriptions and the number...

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