abstract class PayRoll
{
List<String> nm=new ArrayList<String>();
List<String> id=new ArrayList<String>();
List<String> dob=new ArrayList<String>();
}
class Employee extends PayRoll implements PayEmpInt
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n;
String ename,eid,birth,pr_id;
public void addEmployee()
{
try
{
System.out.print("\nEnter the number\t :");
n=Integer.parseInt(br.readLine());
for(int i=0;i<n;i++)
{
System.out.print("\nEnter Employee name\t :");
ename=br.readLine();
System.out.print("\nEnter the Employee ID\t :");
eid=br.readLine();
System.out.print("\nEnter the D.O.B(mm-dd-yyy)\t :");
birth=br.readLine();
nm.add(ename);
id.add(eid);
dob.add(birth);
}
}
catch(IOException e)
{
System.out.print("\nError while handling the Input. "+e);
}
}
class Project extends Employee
{
public void display()
{
System.out.print("\nName\t\tID\t\tDOB");
for(int i=0;i<id.size();i++)
System.out.println(nm.get(i)+"\t"+id.get(i)+"\n"+dob.get(i));
}
}
import java.io.*;
class PayMain
{
public static void main(String args[])throws IOException
{
int ch;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
while(true)
{
System.out.println("\nOptions:\n\t1. Employee DB\n\t2. Projects\n\t3. Exit");
ch=Integer.parseInt(br.readLine());
switch(ch)
{
case 1:
Employee e=new Employee();
e.addEmployee();
System.out.print("\nEMPLOYEE LIST");
e.employeeDetails();
break;
case 2:
Project p=new Project();
p.display();
break;
case 3:
System.exit(0);
}
}
}
}
メイン クラスからメソッド addEmployee を呼び出すことができます。従業員を追加した後、メソッド display (プロジェクトに存在) を呼び出そうとすると、リストの内容が出力されません。
Project が、その親クラスである Employee に存在する List の値にアクセスできない理由がわかりません。
編集: メインクラスを追加しました。問題は、addEmployee メソッドを使用して新しい従業員を追加し、employeeDetails ですべてを完全に表示することです。しかし、p.search() を呼び出すと、NAME ID DOB 以外は何も表示されません。
注: 奇妙なデザインを許してください。私はJavaが初めてです。私は従業員管理システムに関するミニプロジェクトを行っています(DBソフトウェアを使用せずに)。では、どのように設計すればよいか教えてください。ありがとう!