Question: PLEASE HELP WITH JAVA CODING!!!!!!!!!!!! Here's what I'm supposed to do: Steps. (1) Create: Student class containing an ID, a last name, and a list
PLEASE HELP WITH JAVA CODING!!!!!!!!!!!!
Here's what I'm supposed to do:
Steps.
(1) Create: Student class containing an ID, a last name, and a list of course names such as "COP2210" or "COP2250". The ID should be an integer which is printed with leading zeros.
(2) Create: class named StudentTest that contains a List of students. This should not be a string of multiple courses. 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 at least 3 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's my code:
**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(" How many courses you want to add: ");
n = Integer.parseInt(sc.nextLine());
if(n
System.out.println(" Number of courses must be at least 3.");
continue;
}
for(i = 1; i
{
System.out.print(" Enter course name: ");
temp = sc.nextLine();
if(courses.contains(temp))//If course already present
{
System.out.println(" Course 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
{
String temp, l;
System.out.print(" Enter student ID: ");
temp = sc.nextLine();
flag = 1;
for(j = 0; j
{
if(list[j].getID().equals(temp))//If ID already exists
{
System.out.println(" ID already exists. Try another.");
flag = 0;
i--;
break;
}
}
if(flag == 1)
{
System.out.print(" Enter 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
{
for(j = 0; 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
{
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
System.out.print(", " + list[i].getCourses().get(j));
System.out.println();
}
}
public static void main(String args[])
{
StudentTest S = new StudentTest();
S.sort();
}
}
Here is my output. I keep getting the error where it continuously asks me to add courses.

Here is the expected output, here I can put multiple names, courses and ID's.

I need my output to look like the list from the above picture. Any errors you can find I'd appreciate a lot. Thank you!
Note: I would like for it to be working on Netbeans, preferrably. If not, Linux please!
frank@frank-VirtualBox:~ frank@frank-VirtualBox $ javac Student.java frank@frank-VirtualBox: $ javac StudentTest.java frank@frank-VirtualBox: java StudentTest Enter student ID: 5540491 Enter student's last name: Chacon many courses do you want to add: 3 Enter course name: Cop3456 Enter course name: cop0978 Enter course name: cop1234 How many courses do you want to add: 3 Enter course name
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
