Need help with Java, Sorting name alphabetical order and rate in numerical order

Need help with Java, Sorting name alphabetical order and rate in numerical order

***************Semployees.csv***************************************_x000D_
_x000D_
Stan Stanley,123456789,TRUE,19,FALSE,10.95_x000D_
Ralph Maccio,258866445,TRUE,15,FALSE,9.55_x000D_
Julie Andrews,112222445,FALSE,0,FALSE,7.25_x000D_
Janice Young,558844115,TRUE,19,TRUE,11.75_x000D_
Annie Song,532120049,FALSE,10,TRUE,14.55_x000D_
Charles Castro,449032259,TRUE,12,TRUE,7.25_x000D_
Ruby Johnson,602938575,FALSE,14,TRUE,9.92_x000D_
Angela Jones,572656432,TRUE,12,TRUE,15.24_x000D_
John Erwin,986276422,FALSE,20,FALSE,16.70_x000D_
Socorro Gibson,762844562,TRUE,27,FALSE,13.3

In bold are the name and pay rate that need to sorted alphabetically and numerically.

**************************************main.java*****************************************************

import java.util.ArrayList;

import java.util.Scanner;

import java.io.*;

public class Main {

 static ArrayList<String> name = new ArrayList<String>();

 static ArrayList<String> id = new ArrayList<String>();

 static ArrayList<String> state_of_employee = new ArrayList<String>();

 static ArrayList<String> hourly_worked = new ArrayList<String>();

 static ArrayList<String> state_of_student_employee = new ArrayList<String>();

 static ArrayList<String> pay_rate = new ArrayList<String>();

 static Scanner in = new Scanner(System.in);

 private static Scanner inp;

 static StudentEmployee[] Obb = new StudentEmployee[50];  

 public static void main(String[] args) {

  inp = new Scanner(System.in);

  file_Operation();

  char choice;

  do{ 

   System.out.print(“===================Menu=================”);

    System.out.print(“nEnter:n”+” S to Show.n”+” A to Add.n”+” R to Remove.n”

      + ” N to Sorted-by-name.n”+ ” T to Sorted-by-rate.n”+” W to Student-isWorkStudyn”

      + ” H to Show-highest.n”+” L to Show-lowest.n”+” C to Change-rate id/name xxxn”

      + ” B to Rate x between y (bonus).n”+” E to Exit.n”

      + “Enter your choice : “);

         choice = inp.next().charAt(0);

   

   switch(choice){

   case ‘S’  : Show(); break;

   case ‘A’  : Add(); break;

   case ‘R’  : Remove(); break;

   case ‘W’  : StudentIsWorkStudy();break;

   case ‘N’  : SortByName(); break;

   case ‘T’  : SortByRate(); break;

   case ‘H’  : ShowHighest(); break;

   case ‘L’  : ShowLowest(); break;

   case ‘C’  : ChangeRate(); break;

   case ‘B’  : Rate(); break;

   case ‘E’  : break;

   

   default : System.out.println(“Error, Enter a valid key with capital letter”); break;

   }

     

  }while(choice != ‘E’); 

  System.out.println(“================================================”);  

  System.out.print(“Thank you”);

 }

 public static void file_Operation()

 {

  String[] words = null;

  FileReader fr = null;

  BufferedReader br = null;

  String line = null ;

  try{

   fr = new FileReader(“semployees.csv”);

   br = new BufferedReader(fr);

   line = (String)br.readLine();

   while(line!=null){

   words = line.split(“,”);

   name.add(words[0]);

   id.add(words[1]);

   state_of_employee.add(words[2]);

   hourly_worked.add(words[3]);

   state_of_student_employee.add(words[4]);

   pay_rate.add(words[5]);

   line = (String)br.readLine();

   }

   br.close();

   fr.close();

  }catch(Exception ex){

   System.out.println(ex);

  }

 }

 public static void Show()

 {

  System.out.println(“================================================”);

  for ( int i = 0 ; i < name.size(); ++ i )

   {

   System.out.println(

     “name: “+ name.get(i) + “nid: “+id.get(i)

     +”nstate of employee: “+ state_of_employee.get(i) + “nHourly Worked: “+hourly_worked.get(i)

     +”nstate of student employee: “+ state_of_student_employee.get(i) + “nPay Rate: “+pay_rate.get(i)

     );

   System.out.println(“================================================”);

   }

 }

 public static void Add()

 {   int n;

  System.out.print(“Enter the number of person you want add : “);

  n = inp.nextInt();

  for(int i=0 ; i<n ; i++){

  System.out.print((i+1)+”-Enter Name: “);

  name.add((String)in.nextLine());

  System.out.print((i+1)+”-Enter ID: “);

  id.add((String)in.nextLine());

  in = new Scanner(System.in);

  System.out.print((i+1)+”-Enter state of employee: “);

  state_of_employee.add((String)in.nextLine());

  System.out.print((i+1)+”-Hourly Worked: “);

  hourly_worked.add((String)in.nextLine());

  System.out.print((i+1)+”-state of student employee: “);

  state_of_student_employee.add((String)in.nextLine());

  System.out.print((i+1)+”-Pay Rate: “);

  pay_rate.add((String)in.nextLine());

  System.out.println(“================================================”);

  }  

 }

 public static void Remove()

 {

  int nn;

  String empid;

  int index;

      System.out.print(“Enter how many Employees you want ot remove: “);

      nn = inp.nextInt();

      for(int i=0 ; i<nn ; i++){

   System.out.print((i+1)+”-Enter ID of Employee to remove: “);

   empid = in.nextLine();    

   index = id.indexOf(empid);  

   name.remove(index);

   id.remove(index);

   hourly_worked.remove(index);

   state_of_student_employee.remove(index);

   state_of_employee.remove(index);

   pay_rate.remove(index);

   System.out.println(“Deleted”);

      }

 }

  public static void Rate(){

         int x=0;

         int y=0;

         System.out.println(“================================================”);

    System.out.println(“Show the student employees that with the hourly rate between x and y”);

    System.out.println(“Note, Should x<y “);

    System.out.print(“Enter x : “);

    in = new Scanner(System.in);

    x = in.nextInt();  

    System.out.print(“Enter y : “);

    in = new Scanner(System.in);

    y = in.nextInt();      

    System.out.println(“===Employees’s rate between ==”+x+” and “+y+”=========”);

    for ( int i = 0 ; i < name.size(); ++ i ){          

    if(Integer.parseInt(hourly_worked.get(i)) >= x  && Integer.parseInt(hourly_worked.get(i)) <= y){

    System.out.println(“name: “+ name.get(i));    

    }          

    }  

    System.out.println(“================================================”); 

           

     }

   

  public static void ShowHighest(){  

     int max = Integer.parseInt(hourly_worked.get(0));

     int IndexHigh=0;    

     for ( int i = 0 ; i < name.size(); ++ i ){    

     if(Integer.parseInt(hourly_worked.get(i)) > max){      

     max = Integer.parseInt(hourly_worked.get(i));

     IndexHigh = i;

     }  

        }

     System.out.println(“================================================”); 

     System.out.println(“The student employee with highest hourly rate is: “+ name.get(IndexHigh));      

       }

  public static void ShowLowest (){  

   int min = Integer.parseInt(hourly_worked.get(0));

   int IndexLow=0;    

   for( int i = 0 ; i < name.size(); ++ i ){    

   if(Integer.parseInt(hourly_worked.get(i)) < min){      

   min = Integer.parseInt(hourly_worked.get(i));

   IndexLow = i;

     }  

         }

   System.out.println(“================================================”); 

   System.out.println(“The student employee with lowest hourly rate is: “+ name.get(IndexLow));      

  } 

  public static void StudentIsWorkStudy(){

   System.out.println(“All the students that are eligible for work study status”);  

   for ( int i = 0 ; i < name.size(); ++ i ){    

      if(Boolean.parseBoolean(state_of_student_employee.get(i))){

   System.out.println(“Name : “+name.get(i));  

      }

    }      

    }

   

  public static void ChangeRate(){

   int idd=0;

   System.out.println(“================================================”);

   System.out.print(“Enter the id of the Employee that’s you want to change here rate: “);

   in = new Scanner(System.in);

   idd = in.nextInt(); 

   int i=0;

   while(idd != Integer.parseInt(id.get(i))){          

   i++; }        

   double newPayrate;

   System.out.print(“Enter the new rate : “);    

   in = new Scanner(System.in);

   newPayrate = in.nextDouble();    

   pay_rate.set(i, Double.toString(newPayrate));

   System.out.println(“Changed”);

  } 

  public static void SortByName(){

    System.out.println(“================================================”);

    for ( int i = 0 ; i < name.size(); ++ i ){

      System.out.println(“name: “+ name.get(i));}

      System.out.println(“================================================”);    

  } 

  public static void SortByRate(){  

    System.out.println(“================================================”);

    for ( int i = 0 ; i < name.size(); ++ i ){

      System.out.println(“Rate : “+ pay_rate.get(i));}

      System.out.println(“================================================”);

  }  

}

     

**********************************************employee.java**********************************************************************

public class Employee

{

//Private instance variable fields

   private String employeeName;

   private int employeeId;

   private boolean isWorking;   // true if currently working; false otherwise

       

// Constructor – All args passed in as Strings

    public Employee(String name, String id, String isworking) {

      employeeName = name;

      employeeId = Integer.parseInt(id);

      isWorking = Boolean.parseBoolean(isworking);

   }

    public String getName() {

      return employeeName;

   }

   

    public void setName(String name) {

      employeeName = name;

   }

    public int getEmployeeId() {

      return employeeId;

   }

   

    public void setEmployeeId(int id) {

      employeeId = id;

   }

    public boolean isWorking() {

      return isWorking;

   }

    public void setIsWorking(boolean employed) {

      isWorking = employed;

   }

   

    public String toString() {

      return employeeName + “t” + employeeId + “t” + isWorking;

   }

}

*******************************************************StudentEmployee.java*********************************************************

public class StudentEmployee extends Employee {

       

  private int hoursWorked;

  private boolean isWorkStudy;

  private double payRate;

  public StudentEmployee(String name, String id, String isworking,

                         String hoursworked,String workstudy,String payrate) {

    super(name, id, isworking);

    hoursWorked =Integer.parseInt(hoursworked); 

    isWorkStudy = Boolean.parseBoolean(workstudy);

    payRate = Double.parseDouble(payrate); 

   

 }

  public void setHoursWorked(int hours){ 

    hoursWorked = hours;

  }

  public void setIsWorkkStudy(boolean isWork){

    isWorkStudy = isWork;

  }

   

  public void setPayRate(double rate){

    payRate = rate;

  }

     

  public int getHoursWorked(){ 

    return hoursWorked;

  }

  public boolean getIsWorkkStudy(){

    return isWorkStudy;

  } 

     

  public double getPayRate(){

    return payRate;

  }

  public String toString() {

    return hoursWorked + “t” + isWorkStudy + “t” + payRate;

  }

}

"You need a similar assignment done from scratch? Our qualified writers will help you with a guaranteed AI-free & plagiarism-free A+ quality paper, Confidentiality, Timely delivery & Livechat/phone Support.


Discount Code: CIPD30



Click ORDER NOW..

order custom paper