Denny1890 Ответов: 1

Не могу инициализировать класс details в salarydeductions().пробовал создавать разные методы в одном классе , все равно ошибки.нужна помощь, пожалуйста.


details d = new details();//Initializing details class
        d.setEmployee_ID(strID);
        d.setEmpFirstName(strName);
        d.setSurname(strSurname);
        d.setSalary(empSalary);
        d.setUpdatedSalary(empSalary);
        d.setAmntIncrease(empSalary);

      System.out.println("EMPLOYEE DETAILS REPORT  "); //Report Header 1
      System.out.println("EMPLOYEE NUMBER:      "+d.getEmployee_ID()+"\n"+
                       "EMPLOYEE FIRST NAME:  "+d.getEmpFirstName()+"\n"+
                       "EMPLOYEE SURNAME:     "+d.getSurname()+"\n"+
                       "ORIGINAL SALARY:      R"+d.getSalary()+"\n"+
                       "INCREASE SALARY:      R"+d.getUpdatedSalary()+"\n"+
                       "INCREASED AMOUNT:     R"+d.getAmtIncrease()+"\n");
           }//End of Details Report
   public static void salaryDeductions()
   {


       System.out.println("EMPLOYEE DEDUCTIONS REPORT  ");//Report Header 2
       System.out.println("SALARY:     "+"\n"+
                           "TAX:       "+"\n"+
                           "MEDICAL AID: "+"\n"+
                           "CAR ALLOWANCE: "+"\n"+
                           "UIF:   "+"\n"+
                           "Take Home Pay: ");


   }


Что я уже пробовал:

  1  package prjemployeereport;
  2  import java.util.Scanner;
  3  public class PrjEmployeeReport 
  4  {
  5  
  6      public static void main(String[] args) 
  7      {
  8          printDetails();//produce employee details
  9          salaryDeductions();//display employee deductions report
 10          
 11      }
 12      public static void printDetails()
 13      {
 14          Scanner s = new Scanner(System.in);
 15          System.out.print("Enter the employee number >> ");
 16          String strID = s.nextLine();            
 17          System.out.print("Enter the employee first name >> ");
 18          String strName = s.nextLine();
 19          System.out.print("Enter the employee surname >> ");
 20          String strSurname = s.nextLine();
 21          System.out.print("Enter the employee salary to increased >> R ");
 22          double empSalary = s.nextDouble();
 23      
 24      details d = new details();//Initializing details class
 25           d.setEmployee_ID(strID);
 26           d.setEmpFirstName(strName);
 27           d.setSurname(strSurname);
 28           d.setSalary(empSalary);
 29           d.setUpdatedSalary(empSalary);
 30           d.setAmntIncrease(empSalary);
 31         
 32         System.out.println("EMPLOYEE DETAILS REPORT  "); //Report Header 1
 33         System.out.println("EMPLOYEE NUMBER:      "+d.getEmployee_ID()+"\n"+
 34                          "EMPLOYEE FIRST NAME:  "+d.getEmpFirstName()+"\n"+
 35                          "EMPLOYEE SURNAME:     "+d.getSurname()+"\n"+
 36                          "ORIGINAL SALARY:      R"+d.getSalary()+"\n"+
 37                          "INCREASE SALARY:      R"+d.getUpdatedSalary()+"\n"+
 38                          "INCREASED AMOUNT:     R"+d.getAmtIncrease()+"\n");
 39              }//End of Details Report
 40      public static void salaryDeductions()
 41      {   
 42         details s = new details();
 43         s.setTax(empTax);
 44         s.setUpdatedSalary(dblUpdated_Salary);
 45         s.setUIF(empUIF);
 46         s.setdblCarAllow(carAllowance);
 47         s.setMedAid(empMedAid);
 48         s.setHome(empHomePay);
 49             
 50          System.out.println("EMPLOYEE DEDUCTIONS REPORT  ");//Report Header 2
 51          System.out.println("SALARY:     "+ s.getUpdatedSalary()"\n"+
 52                              "TAX:       "+s.getTax()"\n"+
 53                              "MEDICAL AID: "+s.getMedAid()"\n"+
 54                              "CAR ALLOWANCE: "+s.getdblCarAllow()"\n"+
 55                              "UIF:   "+s.getUIF()"\n"+
 56                              "Take Home Pay: "+s.getHome();
 57          
 58          
 59      }
 60                  
 61  }

Richard MacCutchan

Так что где-то там вы получаете одну или несколько ошибок. Но вы не скажете нам, где они происходят или в чем заключаются ошибки?

Denny1890

Сожалеть об этом.Ошибка была в следующем:
Исключение в потоке "main" java.lang.RuntimeException: Некомпилируемый исходный код - ошибочный тип дерева: <any>
в prjemployeereport.PrjEmployeeReport.salaryDeductions(PrjEmployeeReport.java:46)
в prjemployeereport.PrjEmployeeReport.main(PrjEmployeeReport.java:12)

Richard MacCutchan

А строки PrjEmployeeReport.java:46 и PrjEmployeeReport.java:12 находятся где именно?

1 Ответов

Рейтинг:
2

Richard MacCutchan

Спасибо Ричарду Димингу за добавление номеров строк, но я подозреваю, что приведенный выше код-это не тот код, который вы пытались скомпилировать (или там не хватает нескольких строк с самого начала), судя по номерам строк. В методе salaryDeductions у вас есть следующее:

40      public static void salaryDeductions()
 41      {   
 42         details s = new details();
 43         s.setTax(empTax);            // I suspect this is the real line 46 in the error message
 44         s.setUpdatedSalary(dblUpdated_Salary);
 45         s.setUIF(empUIF);
 46         s.setdblCarAllow(carAllowance);
 47         s.setMedAid(empMedAid);
 48         s.setHome(empHomePay);

Очевидная проблема здесь заключается в том, что ни одна из переменных empTax, dblUpdated_Salary, empUIF, carAllowance, empMedAid, empHomePay объявляются где угодно. Поэтому никто из тех, С. заявления setxxx не действительны.

Взгляните на это Учебные Пособия По Java™ [^] чтобы узнать о классах, переменных и т. д.


Richard Deeming

Вчера я обнаружил, что добавление номеров строк очень просто - просто добавьте linecount="true" к <pre> метка.

Там же есть еще один countstart вариант, если вы не хотите, чтобы цифры начинались с 1.

Советы по форматированию статей для CodeProject[^]

Richard MacCutchan

Спасибо, я удивлялся, как тебе это удалось.

Denny1890

Спасибо, что помогли мне.