In: Computer Science
----fix code to search and delete a student by
Identification number
import java.util.Scanner;
public class COurseCom666 {
private String courseName;
private String[] students = new String[1];
private int numberOfStudents;
public COurseCom666(String courseName) {
this.courseName =
courseName;
}
public String[] getStudents() {
return students;
}
public int getNumberOfStudents() {
return
numberOfStudents;
}
public String getCourseName() {
return courseName;
}
public int DeleteStudentsByID() {
return
deleteStudentByID();
}
public void addStudent(String student) {
if (numberOfStudents ==
students.length) {
String[] a = new String[students.length + 1];
for (int i = 0; i < numberOfStudents; i++) {
a[i] = students[i];
}
students = a;
}
students[numberOfStudents] = student;
numberOfStudents++;
}
public String[] addStudentByIndex(String
student, int index) {
String[] a = new
String[students.length + 1];
if (numberOfStudents ==
students.length) {
for (int i = 0; i < a.length; i++) {
if (i < index) {
a[i] = students[i];
} else if (i == index) {
a[i] = student;
} else {
a[i] = students[i - 1];
}
}
}
numberOfStudents++;
return a;
}
public static void display(String[] students)
{
System.out.println("========================");
System.out.print("Now
the New students Array is : \n");
for (int i = 0; i <
students.length; i++) {
System.out.println("Index: " + (i) + "--> " + students[i] + "
");
}
}
public String[] removeStudentByIndex(String[] a,
int index) {
String[] b = new
String[a.length - 1];
students = a;
for (int i = 0, k = 0; i
< a.length; i++) {
if (i == index) {
continue;
} else {
b[k++] = a[i];
}
}
numberOfStudents--;
return b;
}
public int[] deleteStudentByID(int num[])
{
}
private int findStudent(String student) {
for (int i = 0; i <
numberOfStudents; i++) {
if (students[i].equals(student)) {
return i;
}
}
return -1;
}
}
import java.util.Scanner;
public class d {
public static void main(String[] args)
{
COurseCom666 com666 =
new COurseCom666("com666");
com666.addStudent("Bishal");
com666.addStudent("Ana");
com666.addStudent("Ying");
com666.addStudent("Samuel");
com666.addStudent("Surai");
int sum = 0;
String students1[] =
com666.getStudents();
sum +=
com666.getNumberOfStudents();
Scanner scan = new
Scanner(System.in);
int choice;
do {
System.out.println("Welcome to St.Joseph's College");
System.out.println("1. View Student");
System.out.println("2. Insert Student");
System.out.println("3. Remove a student");
System.out.println("4. Delete a student by ID");
System.out.println("5. Exit");
choice = scan.nextInt();
if (choice == 1)
{
for (int i = 0; i < students1.length; i++)
{
System.out.println("Index is: " + (i) + "---> " +
students1[i]);
}
System.out.println("Number of students attending the Course is: " +
sum);
}
else if (choice == 2)
{
System.out.println("Enter the name of student and index: ");
scan.nextLine();
String student = scan.nextLine();
int index = scan.nextInt();
students1 = com210.addStudentByIndex(student, 3);
com666.display(students1);
sum = com666.getNumberOfStudents();
System.out.println("After student was added number is: " +
sum);
}
else if (choice == 3) {
System.out.println("Remove a student by index");
int index = scan.nextInt();
students1 = com666.removeStudentByIndex(students1, index);
com666.display(students1);
sum = com666.getNumberOfStudents();
System.out.println("After student drop number is: " + sum);
System.out.println("Number of students attending the Course is: " +
sum);
System.out.println("----------------------------------");
}
else if (choice ==4) {
System.out.println("Delete a students ID");
System.out.println("Bishal", StudentID);
String student1_name = "Bishal";
int StudentID = 111111;
System.out.println("Ana", StudentID);
String student2_name = "Ana";
int StudentID = 222222;
String student3_name = "Ying";
int StudentID = 333333;
String student4_name = "Samuel";
int student4_id = 444444;
String student5_name = "Surai";
int student5_id = 555555;
}
}
while (choice!=
5);
}
}
This is the code to fix search and delete student by identification number and I also mention the comment in the code to easily understand the changes, just copy the code and paste it on any java ide or complier.
import java.util.*;
class COurseCom666 {
private String courseName;
private String[] students = new String[1];
private int numberOfStudents;
public COurseCom666(String courseName) {
this.courseName = courseName;
}
public String[] getStudents() {
return students;
}
public int getNumberOfStudents() {
return numberOfStudents;
}
public String getCourseName() {
return courseName;
}
public void addStudent(String student) {
if (numberOfStudents == students.length) {
String[] a = new String[students.length + 1];
for (int i = 0; i < numberOfStudents; i++) {
a[i] = students[i];
}
students = a;
}
students[numberOfStudents] = student;
numberOfStudents++;
}
public String[] addStudentByIndex(String student, int index)
{
String[] a = new String[students.length + 1];
for (int i = 0; i < a.length; i++) {
if (i < index) {
a[i] = students[i];
} else if (i == index) {
a[i] = student;
} else {
a[i] = students[i-1];
}
}
numberOfStudents++;
return a;
}
public static void display(String[] students) {
System.out.println("========================");
System.out.print("Now the New students Array is : \n");
for (int i = 0; i < students.length; i++) {
System.out.println("Index: " + (i) + "--> " + students[i] + "
");
}
}
public String[] removeStudentByIndex(String[] a, int index) {
String[] b = new String[a.length - 1];
students = a;
for (int i = 0, k = 0; i < a.length; i++) {
if (i == index) {
continue;
} else {
b[k++] = a[i];
}
}
numberOfStudents--;
return b;
}
// fix the code
public String[] deleteStudentByID(String a[],int id) {
String sname[]={"Bishal", "Ana","Ying","Samuel","Surai"};
int StudentID[]={111111,222222,333333,444444,555555};
int index=0;
String name="";
// find name of student we want to delete by id
for(int i=0;i<StudentID.length;i++){
if(StudentID[i]==id){
index=StudentID[i];
name=sname[i];
break;
}
}
String[] b = new String[a.length - 1];
students = a;
for (int i = 0, k = 0; i < a.length; i++) {
if (a[i].equals(name)) {
continue;
} else {
b[k++] = a[i];
}
}
numberOfStudents--;
return b;
}
private int findStudent(String student) {
for (int i = 0; i < numberOfStudents; i++) {
if (students[i].equals(student)) {
return i;
}
}
return -1;
}
}
public class d{
public static void main(String[] args)
{
COurseCom666 com666 = new COurseCom666("com666");
com666.addStudent("Bishal");
com666.addStudent("Ana");
com666.addStudent("Ying");
com666.addStudent("Samuel");
com666.addStudent("Surai");
int sum = 0;
String students1[] = com666.getStudents();
sum += com666.getNumberOfStudents();
Scanner scan = new Scanner(System.in);
int choice;
do {
System.out.println("Welcome to St.Joseph's College");
System.out.println("1. View Student");
System.out.println("2. Insert Student");
System.out.println("3. Remove a student");
System.out.println("4. Delete a student by ID");
System.out.println("5. Exit");
choice = scan.nextInt();
if (choice == 1)
{
for (int i = 0; i < students1.length; i++)
{
System.out.println("Index is: " + (i) + "---> " +
students1[i]);
}
System.out.println("Number of students attending the Course is: " +
sum);
}
else if (choice == 2)
{
System.out.println("Enter the name of student and index: ");
scan.nextLine();
String student = scan.nextLine();
int index = scan.nextInt();
students1 = com666.addStudentByIndex(student, 3);
com666.display(students1);
sum = com666.getNumberOfStudents();
System.out.println("After student was added number is: " +
sum);
}
else if (choice == 3) {
System.out.println("Remove a student by index");
int index = scan.nextInt();
students1 = com666.removeStudentByIndex(students1, index);
com666.display(students1);
sum = com666.getNumberOfStudents();
System.out.println("After student drop number is: " + sum);
System.out.println("Number of students attending the Course is: " +
sum);
System.out.println("----------------------------------");
}
else if (choice ==4) {
System.out.println("Delete a students ID");
String name[]={"Bishal", "Ana","Ying","Samuel","Surai"};
int StudentID[]={111111,222222,333333,444444,555555};
for(int i=0;i<name.length;i++)
System.out.println(name[i]+" "+StudentID[i]);
// take id from user that we want to delete
int id=scan.nextInt();
students1 = com666.deleteStudentByID(students1,id);
com666.display(students1);
sum = com666.getNumberOfStudents();
System.out.println("After student drop number is: " + sum);
}
}
while (choice!= 5);
}
}