sort by name ascending import javautil public class Activity
sort by name ascending
import java.util.*;
public class Activity7C
{
public static void main(String[] args) {
StudentList students = new StudentList();
students.add(new Student(8032, \"Casper\", 2.78));
students.add(new Student(3044, \"Sheena\", 3.92));
students.add(new Student(6170, \"Yolanda\", 4.26));
students.add(new Student(1755, \"Geordi\", 3.58));
students.printByNumber();
System.out.println(\"\ End of processing.\");
} }
class Student
{
private int number;
private String name;
private double gpa;
public Student(int number, String name, double gpa) {
this.number = number;
this.name = name;
this.gpa = gpa;
}
public int getNumber()
{
return number;
}
public double getGPA()
{
return gpa;
}
public boolean nameComesBefore(Student other)
{
return name.compareToIgnoreCase(other.name) < 0;
}
public String toString()
{ return number + \" \" + name + \" (\" + gpa + \")\";
}
}
class StudentList { private ArrayList list;
public StudentList() { list = new ArrayList();
}
public void add(Student student)
{
boolean done = false;
int pos;
// find the insertion point (this is just a linear search)
pos = list.size() - 1;
while (pos >= 0 && !done)
{
if (student.getNumber() > list.get(pos).getNumber())
{
done = true;
} else { pos--;
} }
list.add(pos + 1, student);
}
public void printByNumber()
{
System.out.println(\"\ Students ordered by number:\");
printStudents(list);
}
private void printStudents(ArrayList list)
{ System.out.println(\"\ List of all students:\ \");
for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + \": \" + list.get(i));
}
}
}
OUTPUT should be:
Students ordered by number:
List of all students:
1: 1755 Geordi (3.58)
2: 3044 Sheena (3.92)
3: 6170 Yolanda (4.26)
4: 8032 Casper (2.78)
End of processing.
Students ordered by name:
List of all students:
1. 8032 Casper (2.78)
2. 1755 Geordi (3.58)
3. 3044 Sheena (3.92)
4. 6170 Yolanda (4.26)
Solution
Activity7C.java
import java.util.*;
public class Activity7C
{
public static void main(String[] args) {
StudentList students = new StudentList();
students.add(new Student(8032, \"Casper\", 2.78));
students.add(new Student(3044, \"Sheena\", 3.92));
students.add(new Student(6170, \"Yolanda\", 4.26));
students.add(new Student(1755, \"Geordi\", 3.58));
students.printByNumber();
StudentList studentsName = new StudentList();
studentsName.addByName(new Student(8032, \"Casper\", 2.78));
studentsName.addByName(new Student(3044, \"Sheena\", 3.92));
studentsName.addByName(new Student(6170, \"Yolanda\", 4.26));
studentsName.addByName(new Student(1755, \"Geordi\", 3.58));
studentsName.printByName();
System.out.println(\"\ End of processing.\");
} }
class Student
{
private int number;
private String name;
private double gpa;
public Student(int number, String name, double gpa) {
this.number = number;
this.name = name;
this.gpa = gpa;
}
public int getNumber()
{
return number;
}
public double getGPA()
{
return gpa;
}
public boolean nameComesBefore(Student other)
{
return name.compareToIgnoreCase(other.name) > 0;
}
public String toString()
{ return number + \" \" + name + \" (\" + gpa + \")\";
}
}
class StudentList { private ArrayList list;
public StudentList() { list = new ArrayList();
}
public void add(Student student)
{
boolean done = false;
int pos;
// find the insertion point (this is just a linear search)
pos = list.size() - 1;
while (pos >= 0 && !done)
{
if (student.getNumber() > ((Student)list.get(pos)).getNumber())
{
done = true;
} else { pos--;
} }
list.add(pos + 1, student);
}
public void addByName(Student student)
{
boolean done = false;
int pos;
// find the insertion point (this is just a linear search)
pos = list.size() - 1;
while (pos >= 0 && !done)
{
if (student.nameComesBefore(((Student)list.get(pos))))
{
done = true;
} else { pos--;
} }
list.add(pos + 1, student);
}
public void printByNumber()
{
System.out.println(\"\ Students ordered by number:\");
printStudents(list);
}
public void printByName()
{
System.out.println(\"\ Students ordered by name:\");
printStudents(list);
}
private void printStudents(ArrayList list)
{ System.out.println(\"\ List of all students:\ \");
for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + \": \" + list.get(i));
}
}
}
Ouput:
Students ordered by number:
List of all students:
1: 1755 Geordi (3.58)
2: 3044 Sheena (3.92)
3: 6170 Yolanda (4.26)
4: 8032 Casper (2.78)
Students ordered by name:
List of all students:
1: 8032 Casper (2.78)
2: 1755 Geordi (3.58)
3: 3044 Sheena (3.92)
4: 6170 Yolanda (4.26)
End of processing.
![sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students](/WebImages/27/sort-by-name-ascending-import-javautil-public-class-activity-1073290-1761562552-0.webp)
![sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students](/WebImages/27/sort-by-name-ascending-import-javautil-public-class-activity-1073290-1761562552-1.webp)
![sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students](/WebImages/27/sort-by-name-ascending-import-javautil-public-class-activity-1073290-1761562552-2.webp)
![sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students](/WebImages/27/sort-by-name-ascending-import-javautil-public-class-activity-1073290-1761562552-3.webp)
![sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students sort by name ascending import java.util.*; public class Activity7C { public static void main(String[] args) { StudentList students = new StudentList(); students](/WebImages/27/sort-by-name-ascending-import-javautil-public-class-activity-1073290-1761562552-4.webp)