Java 完整的代码,但如何将其用于抽象类?

Java 完整的代码,但如何将其用于抽象类?,java,abstract,Java,Abstract,所以我已经完成了我的代码,它获取员工信息作为输入,并可以根据用户需要进行排序。但对于部分需求,我有两个示例使用抽象类“Employee”和两个子类“tempeployee”和“Perm” 雇员”。为了让它工作,我在抽象类下放了什么代码?另外,当我排序时,我希望所有的信息都随它一起,所以如果我按薪水排序,我想要的是在它排序时,发薪水的人的姓名和部门,而不仅仅是一个有序的数字列表。这也可能吗 import java.util.Scanner; import java.util.ArrayLi

所以我已经完成了我的代码,它获取员工信息作为输入,并可以根据用户需要进行排序。但对于部分需求,我有两个示例使用抽象类“Employee”和两个子类“tempeployee”和“Perm” 雇员”。为了让它工作,我在抽象类下放了什么代码?另外,当我排序时,我希望所有的信息都随它一起,所以如果我按薪水排序,我想要的是在它排序时,发薪水的人的姓名和部门,而不仅仅是一个有序的数字列表。这也可能吗

import java.util.Scanner;
    import java.util.ArrayList;
 import java.util.Collections;
import java.util.Arrays;


public class Assignment55_000848913
{
  public static void main(String[] args)
  {
Scanner in = new Scanner(System.in);
String Continue = "y";
int Count = 0;
int SortingChoice;
ArrayList<String> Names       = new ArrayList<String>();
ArrayList<String> Department  = new ArrayList<String>();
ArrayList<String> Designation = new ArrayList<String>();
ArrayList<Float>  Salary      = new ArrayList<Float>();

    //******************************************************//

do
{
   System.out.println("Enter Employee Name: ");
   String x = in.next();
   Names.add(x);

   System.out.println("Enter Employee Designation ('temporary or permanent'): ");
   String y = in.next();
   Designation.add(y);

   System.out.println("Enter Employee Department: ");
   String z = in.next();
   Department.add(z);

   System.out.println("Enter Employee Salary: ");
   float i = in.nextFloat();
   Salary.add(i);

   System.out.println("Do you wish to add another employee? ('y'/'n'): ");
   Continue = in.next();

   Count = Count + 1;
}
while(Continue.equals("y"));

//***********************************************************************//

System.out.println("Enter sorting Criterion Number: 1. Name, 2.Department, 3. Salary. ");
SortingChoice = in.nextInt();

if(SortingChoice == 1)
{
  Collections.sort(Names);
     for(int i=0; i<Names.size(); i++)
     {
        System.out.println(Names.get(i));
     }
}

if(SortingChoice == 2)
{
  Collections.sort(Department);
     for(int i=0; i<Department.size(); i++)
     {
        System.out.println(Department.get(i));
     }
}

if(SortingChoice == 3)
{
  for(int k=0; k<Salary.size(); k++)
  {
    if(Designation.get(k).equals("temporary"))
      {
         Salary.set(k, Salary.get(k)*1920);
      }
  }


  Collections.sort(Salary);
     for(int i=0; i<Salary.size(); i++)
     {
       System.out.print("$");
       System.out.println(Salary.get(i));
     }
}
  }
}

 // public  class Employee
  // {

 // }

 // public class TempEmployee extends Employee
     // {

//  }

//  public class PermEmployee extends Employee
//  {

//  }
import java.util.Scanner;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.array;
公共类分配55_000848913
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
字符串Continue=“y”;
整数计数=0;
整数排序选择;
ArrayList name=新的ArrayList();
ArrayList Department=新建ArrayList();
ArrayList名称=新的ArrayList();
ArrayList Salary=新建ArrayList();
//******************************************************//
做
{
System.out.println(“输入员工姓名:”);
字符串x=in.next();
名称。添加(x);
System.out.println(“输入员工名称(‘临时或永久’):”;
字符串y=in.next();
名称.添加(y);
System.out.println(“输入员工部门:”);
字符串z=in.next();
增加(z);
System.out.println(“输入员工工资:”);
float i=in.nextFloat();
薪金。加(i);
System.out.println(“您希望添加其他员工吗?('y'/'n'):”;
Continue=in.next();
计数=计数+1;
}
while(Continue.equals(“y”));
//***********************************************************************//
System.out.println(“输入排序标准编号:1.姓名,2.部门,3.工资”);
SortingChoice=in.nextInt();
如果(排序选项==1)
{
集合。排序(名称);

对于(int i=0;i抽象类更多的是为了方便不必重复事情。因此,一个好的开始是先定义PermEmployee类。然后定义TempEmployee类。无论它们有什么共同的变量和方法,都可以放入AbstractEmployee类中,并让每个类从中继承。这样,剩下的方法和变量将是Temp和Perm employee类所特有的


剩下的只是学习定义抽象类的技巧的练习,我将留给您阅读。决定什么时候一个方法应该是抽象的,哪些方法可以在所有子类中共享,哪些方法应该有默认行为,在特殊情况下需要重写。

您有“完成代码",除了你没有完成任务外?这并没有完成代码。--临时员工和永久员工之间应该有什么区别吗?例如,领薪水的员工和小时工员工,或者其他什么?不幸的是,你的代码不完整。你似乎没有为各种类型的员工使用具体的类。Andreas,我的意思是de做了它应该做的,只是它没有像他所说的那样设置成一个简单的类,这就是我请求帮助的。两者之间唯一的区别是你如何输入他们的工资,你必须为他们快速地从每小时转换成每年。是的,我使用的主要类似乎是具体的TimIf,如果你不知道如何定义的话一个抽象类,可以从这里开始阅读: