Question: I need to make this program run without using arrayLists, I need to use regular arrays. It takes an input from the file. Here is

I need to make this program run without using arrayLists, I need to use regular arrays. It takes an input from the file. Here is the code I've used so far:

public class Student { private String fname, lname; private int grade;

public Student() { super(); //gives us the ability to override

}

public Student (String fname, String lname, int grade) { this.fname = fname; this.lname = lname; this.grade = grade; }

public String getFname() { return fname; }

public void setFname (String fname) { this.fname = fname; }

public String getLname() { return lname; }

public void setLname(String lname) { this.lname = lname; }

public int getGrade() { return grade; }

public void setGrade(int grade) { this.grade = grade; }

public String toString() { return fname + " " + lname + "\t" + grade; } }

import java.util.Scanner; import java.util.ArrayList; import java.io.*;

public class Students { public static void printAllStudents(Student[] students){ for(int i=0;i

public static void printAllStudentsByFirstName(Student[] students,String firstName){ String name=firstName.split(" ")[1]; int len=name.length(); for(int i=0;i

public static void printAllStudentsByLastName(Student[] students,String lastName){ String name=lastName.split(" ")[1]; int len = name.length(); for(int i=0;i

public static void printAllStudentsByGrades(Student[] students,String interval){ int start=Integer.parseInt(interval.split(" ")[1]); int end=Integer.parseInt(interval.split(" ")[2]); for(int i=0;i=start && students[i].getGrade()<=end){ System.out.println(students[i]); } } }

public static void sort(Student[] students) { int n = students.length; int k; for (int m = n; m >= 0; m--) { for (int i = 0; i < n - 1; i++) { k = i + 1; if (students[i].getGrade() > students[k].getGrade()) { Student temp=new Student(); temp = students[k]; students[k]=students[i]; students[i]=temp; } } } printAllStudents(students); }

public static void main (String[] args) throws IOException { String first_name, last_name; int grade; Scanner sc = new Scanner(System.in); Scanner fileInput = new Scanner(new File("students.txt")); ArrayList list=new ArrayList(); while (fileInput.hasNext()) { first_name = fileInput.next(); last_name = fileInput.next(); grade = fileInput.nextInt();

Student st = new Student(first_name, last_name, grade); list.add(st); } Student[] students=new Student[list.size()]; for(int i=0;i"); System.out.println("3. lastname "); System.out.println("4. interval m n"); System.out.println("5. sort"); System.out.println("6. end"); while (true) { System.out.println("Enter choice:"); String choice = sc.nextLine(); if(choice.equals("printall")) printAllStudents(students); else if(choice.indexOf("firstname")==0) printAllStudentsByFirstName(students, choice); else if(choice.indexOf("lastname") == 0) printAllStudentsByLastName(students, choice); else if(choice.indexOf("interval") == 0) printAllStudentsByGrades(students, choice); else if(choice.equals("sort")) sort(students); else if(choice.equals("end")) break; } }

}

HERES THE FILE:

John Smith 90 Barack Obama 95 Al Clark 80 Sue Taylor 55 Ann Miller 75 George Bush 58 John Miller 65

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!