用Java读取用户输入并写入文件时出现问题

这是基类的员工代码

    public class Employee {
    private String name;
    private int age;
    private String address;
    private String EmpId;
    private double salary;

public Employee(String name,int age,String address,String EmpId,double salary)
{
    this.name=name;
    this.age=age;
    this.address=address;
    this.EmpId=EmpId;
    this.salary=salary;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

public String getEmpId() {
    return EmpId;
}

public void setEmpId(String empId) {
    EmpId = empId;
}

public double getSalary() {
    return salary;
}

public void setSalary(double salary) {
    this.salary = salary;
}

}

在这里,软件员工正在扩展此基类

public class SoftwareEmployee extends Employee{
private String skillSet;
public SoftwareEmployee(String name,int age,String address,String EmpId,double salary,String 
skillSet)
{
    super(name,age,address,EmpId,salary);
    this.skillSet=skillSet;
}
public String getSkillSet() {
    return skillSet;
}
public void setSkillSet(String skillSet) {
    this.skillSet = skillSet;
}

}

财务员工也在扩展基础类 代码是:

public class FinanceEmployee extends Employee {
private String Degree;
public FinanceEmployee(String name,int age,String address,String EmpId,double salary,String Degree)
{
    super(name,age,address,EmpId,salary);
    this.Degree=Degree;
}
public String getDegree() {
    return Degree;
}
public void setDegree(String degree) {
    Degree = degree;
}

} 这是我的主班 在这里,它不能写入外部文件。控制台也不会等我先输入姓名,然后再输入年龄。它只是一次命名名称和年龄,然后一次又一次复制两件事。请帮帮我。我对此很陌生。 这是我的主班

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
public class Main {

public static void main(String[] args) throws IOException  {
    Scanner sc = new Scanner(System.in);
    //File file = new File("C:\\Users\\AK078479\\Documents\\newfile.txt");
    FileWriter fWriter = new FileWriter("C:\\Users\\AK078479\\Documents\\newfile.txt");
    //BufferedWriter writer = null;

    Employee employee=new Employee(null, 0, null, null, 0);
    SoftwareEmployee sftemp=new SoftwareEmployee(null, 0, null, null, 0, null);
    FinanceEmployee fncemp=new FinanceEmployee(null, 0, null, null, 0, null);
    System.out.println("You are "+"\n"+"1.Reviewer"+"\n"+"2.Data Entry Operator");
    int choice = sc.nextInt();
    switch(choice)
    {
        case(1): 
            System.out.println("Do you want to see a"+ "\n" + "1.Particular record"+"\n"+"2.All 
     records");
            int value=sc.nextInt();
            switch(value)
            {
                case(1):


            }
            break;
        case(2):
            System.out.println("Employee is a "+"\n"+"1.Software Employee"+"\n"+"2.Finance 
  Employee");
            int num =sc.nextInt();
            switch(num)
            {
                case(2):

                    try
                    {

                        //String s="Finance Employee";
                        //writer.write(s);
                        //writer.newLine();
                        int n=2;
                        while(n>0)
                        {

                            //writer = new BufferedWriter(fWriter);
                            System.out.println("Enter name");
                            String text = sc.next();
                            fncemp.setName(text);
                            fWriter.write(text);
                            //fWriter.newLine();
                            System.out.println("Enter age");
                            int age=sc.nextInt();
                            fncemp.setAge(age);
                            fWriter.write(age);
                            //writer.newLine();
                            System.out.println("Enter address");
                            String add = sc.nextLine();
                            fncemp.setAddress(add);
                            fWriter.write(add);
                            //fwriter.newLine();
                            System.out.println("Enter EmpId");
                            String emplId = sc.nextLine();
                            fncemp.setEmpId(emplId);
                            fWriter.write(emplId);
                            //writer.newLine();
                            System.out.println("Enter salary");
                            double sal = sc.nextDouble();
                            fncemp.setSalary(sal);
                            fWriter.write((int) sal);
                            //writer.newLine();
                            System.out.println("Enter degree");
                            String degree = sc.nextLine();
                            fncemp.setDegree(degree);
                            fWriter.write(degree);
                            //writer.newLine();  
                            n--;
                        }      
                    }
                    catch (Exception e) 
                    {
                        System.out.println("Error!");
                    }
                break;
                case(1):
                    try
                    {

                        //String st="Software Employee";
                        //writer.write(st);
                       // writer.newLine();
                        int n=2;
                        while(n>0)
                        {

                            //fWriter = new FileWriter(file);
                            //writer = new BufferedWriter(fWriter);
                            System.out.println("Enter name");
                            //String text = sc.nextLine();
                            sftemp.setName(sc.nextLine());
                            fWriter.write(sftemp.getName());
                            //fWriter.newLine();
                            System.out.println("Enter age");
                            int age=sc.nextInt();
                            sftemp.setAge(age);
                            fWriter.write(age);
                            //fWriter.newLine();
                            System.out.println("Enter address");
                            String add = sc.nextLine();
                            sftemp.setAddress(add);
                            fWriter.write(add);
                            //writer.newLine();
                            System.out.println("Enter EmpId");
                            String emplId = sc.nextLine();
                            sftemp.setEmpId(emplId);
                            fWriter.write(emplId);
                            //writer.newLine();
                            System.out.println("Enter salary");
                            double sal = sc.nextDouble();
                            sftemp.setSalary(sal);
                            fWriter.write((int) sal);
                            //writer.newLine();
                            System.out.println("Enter skill Set");
                            String skill = sc.nextLine();
                            sftemp.setSkillSet(skill);
                            fWriter.write(skill);
                            //writer.newLine();  
                            n--;
                        }      
                    }
                    catch (Exception e) 
                    {
                        System.out.println("Error!");
                    }
                break;
                default:
                    System.out.println("Try again");

            }
            break;
            default:
                System.out.println("Try again");

    }


}

}