Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have this lab I\'ve been trying to work on but I can\'t figure out how to comp

ID: 3825515 • Letter: I

Question

I have this lab I've been trying to work on but I can't figure out how to complete it. Here are all the resources provided by the instructor.

LAB08, Array of Student Class objects – Selection Sort                                                                                 Points: 25

OBJECTIVE

To demonstrate the concept of sorting and index to an array

To demonstrate the Selection sort

To demonstrate sorting objects

REQUIRED

A report of your work, in a flat pocket folder, in the following order:

1.   Grade form                                                            Lab08GradeForm.doc

2.   This program description

3.   The source listing of the Student class                  Student.java

4.   The source listing of the StudentSort class            StudentSort.java

5.   Problem Analysis with Input, Output, Pseudocode (word processed)

6.   The listing of the source program                          Lab08.java

      Data dictionary (included as comments)

7.   Listing of the input file                                          Lab08StudentFile.txt

8.   Listing of the student name file                             Lab08Names.txt

9.   Listing of the expected results (already created)    Lab08ExpectedResults.xlsx

10. Listing of the output file                                        Lab08Report.txt

SPECIFICATIONS

Start with Lab06 or Lab07 and rename it as Lab08

There were two parts to Lab06:

Part1 – create an array of objects and then place values into the objects in the array

Part2 – retrieve the objects from the array and print a report

Lab08 will insert a step in between –- Sorting the array of objects

Using the Selection sort, sort the array in ascending order, by student name

Since the name is not in the Student objects, we will create a separate array (index) to sort the name. This array is an array of objects of the StudentSort class. I have created the StudentSort class (StudentSort.java). It consists of the subscript for the student in the Student array and that student’s name.

Create the StudentSort array at the same time you are creating the array of Students.

Use the student id to search for the student name. Create a StudentSort object with the subscript from the Student array and the student’s name. Insert it into the StudentSort array. You need a separate subscript for the StudentSort array.

Sort the StudentSort array in name order using the selection sort.

Then go through the StudentSort array in sequence, using the subscript from the StudentSort object to retrieve the Student object from the Student array.

Refer to Java11SelectionSort and Java12MoreStrings

INPUT

File:           Student file                        Lab08StudentFile.txt

Record:     Student record

Field                            Data Type

Student id#                  4 numbers (ex. 1234)

Ten test scores             integers (valid numbers are 0 -100)

INPUT

File:           Student name file               Lab08Names.txt

Record:     Student name record

Field                            Data Type

Student id#                  4 numbers (ex. 1234)

Student name               String

OUTPUT

File:           Grade Report file               Lab08Report.txt

Record:    

Student Grade Report, sorted by Name

ID#    Name /---------------------TEST Scores----------------------/ Total Adj Total Avg       

xxxx   xxxxxxxxxxxxxxx xxx xxx xxx xxx   xxx xxx xxx xxx xxx xxx    xxxx        xxxx        xxx

xxxx   xxxxxxxxxxxxxxx xxx xxx xxx xxx   xxx xxx xxx xxx xxx xxx    xxxx        xxxx        xxx

xxxx   xxxxxxxxxxxxxxx xxx xxx xxx xxx   xxx xxx xxx xxx xxx xxx    xxxx        xxxx        xxx

Total students = xx

Here's the link to the completed lab06 which it builds upon.--> https://pastebin.com/4cxF0YGb

Here's the link to the completed StudentSort Class file.--> https://pastebin.com/7emKcUL6

Explanation / Answer

part 1:

//ArrayListDemo.java
import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo
{
   public static void main(String args[])
   {
       // Creating an ArrayList
       ArrayList al = new ArrayList();
       System.out.println("Initial size of ArrayList: " + al.size()); //0
      
       //Add elements to the ArrayList
       al.add("Red");
       al.add("Green");
       al.add("Blue");
       al.add("Pink");
       al.add("Orange");
      
       System.out.println(" Size of ArrayList after additions: " + al.size()); //5

       //Display the ArrayList
       System.out.println(" Contents of ArrayList After add: " + al);
      
       // Remove elements from ArrayList      
       al.remove(4);
       System.out.println(" Contents of ArrayList after remove index: " + al);

       al.remove("Pink");
       System.out.println(" Contents of ArrayList after remove object: " + al);      
       System.out.println(" Size of ArrayList after deletions: " + al.size());
      
       // Display the ArrayList
       System.out.println(" Contents of ArrayList after modification: " + al);
      
       StringBuffer sb        = new StringBuffer();

       String alElement    = (String)(al.get(1));
       System.out.println("alElement :"+alElement);

       al.add(alElement+" rose");
       System.out.println(al);
      
       System.out.println("al elements through Iterator");
       Iterator alIterator = al.iterator();      
       while(alIterator.hasNext())
       {
           String str = (String)alIterator.next();
           System.out.println(str);
           sb.append(str+",");
       }
      
       System.out.println("Array List values in string buffer :"+sb);
   }
}

part 2:

/*
* IteratorMethodsDemo.java
*
* Below program shows the rules we should follow while retrieving elements using Iterator
*/

import java.util.LinkedHashSet;
import java.util.Iterator;

public class IteratorMethodsDemo
{
   public static void main(String[] args)
   {
       LinkedHashSet lhs = new LinkedHashSet();
       lhs.add("Abc");
       lhs.add("Cbc");
       lhs.add("Dbc");
       lhs.add(new Integer(10));
      
       Iterator lhsIterator = lhs.iterator();
       while(lhsIterator.hasNext())
       {
          
           lhsIterator.remove();
           //java.lang.IllegalStateException
          
           Object ob = lhsIterator.next();
           System.out.println("lhs object in while :"+ob);
          
           //lhsIterator.remove();
          
          
           if(ob instanceof Integer)
           {
               lhsIterator.remove();
           }          
          
       }//while closed

       System.out.println("lhs after iteration : "+ lhs);       //[] [Abc, Cbc, Dbc]
   }
}